gmnlm: host freed too early, causing UAF The host variable is freed too early. If a client certificate is not found, the later error message in the GEMINI_STATUS_CLASS_CLIENT_CERTIFICATE_REQUIRED case uses the freed host variable to produce an incorrect openssl command. This fix just delays the free to after the switch statement. Test case: gmnlm gemini://feeds.drewdevault.com Prior: The following OpenSSL command will generate a certificate for this host: openssl req -x509 -newkey rsa:4096 \ -keyout /home/andrew/.local/share/gmni/certs/Ú-=öU.key \ -out /home/andrew/.local/share/gmni/certs/Ú-=öU.crt \ -days 36500 -nodes Now: The following OpenSSL command will generate a certificate for this host: openssl req -x509 -newkey rsa:4096 \ -keyout /home/andrew/.local/share/gmni/certs/feeds.drewdevault.com.key \ -out /home/andrew/.local/share/gmni/certs/feeds.drewdevault.com.crt \ -days 36500 -nodes
1 files changed, 1 insertions(+), 1 deletions(-) M src/gmnlm.c
M src/gmnlm.c => src/gmnlm.c +1 -1