]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
list_tls_signatures(): Avoid leak with zero length builtin_sigalgs
authorAndrew Dinh <andrewd@openssl.org>
Fri, 16 Aug 2024 13:55:16 +0000 (20:55 +0700)
committerNeil Horman <nhorman@openssl.org>
Sat, 17 Aug 2024 21:32:17 +0000 (17:32 -0400)
Fixes Coverity 1616307

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25219)

apps/list.c

index 679a27c88b6dc100acdbf4a98d90046430883d9d..fbfb4ae0919880850e5071ee7a50fcd94a9881f4 100644 (file)
@@ -779,10 +779,12 @@ static void list_tls_signatures(void)
     int tls_sigalg_listed = 0;
     char *builtin_sigalgs = SSL_get1_builtin_sigalgs(app_get0_libctx());
 
-    if (builtin_sigalgs != NULL && builtin_sigalgs[0] != 0) {
-        BIO_printf(bio_out, "%s", builtin_sigalgs);
+    if (builtin_sigalgs != NULL) {
+        if (builtin_sigalgs[0] != 0) {
+            BIO_printf(bio_out, "%s", builtin_sigalgs);
+            tls_sigalg_listed = 1;
+        }
         OPENSSL_free(builtin_sigalgs);
-        tls_sigalg_listed = 1;
     }
 
     /* As built-in providers don't have this capability, never error */