]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Fix a possible memleak in opt_verify
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Sun, 3 Dec 2023 10:41:51 +0000 (11:41 +0100)
committerTomas Mraz <tomas@openssl.org>
Tue, 12 Dec 2023 18:50:23 +0000 (19:50 +0100)
The ASN1_OBJECT otmp was leaked if X509_VERIFY_PARAM_add0_policy fails.

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22922)

apps/lib/opt.c

index 2d61ac9a7865ec4f155c2810554e3bdb4703e5f9..0490c39c251669e20a978d6cfad4e8eaa2d581c5 100644 (file)
@@ -726,7 +726,12 @@ int opt_verify(int opt, X509_VERIFY_PARAM *vpm)
             opt_printf_stderr("%s: Invalid Policy %s\n", prog, opt_arg());
             return 0;
         }
-        X509_VERIFY_PARAM_add0_policy(vpm, otmp);
+        if (!X509_VERIFY_PARAM_add0_policy(vpm, otmp)) {
+            ASN1_OBJECT_free(otmp);
+            opt_printf_stderr("%s: Internal error adding Policy %s\n",
+                              prog, opt_arg());
+            return 0;
+        }
         break;
     case OPT_V_PURPOSE:
         /* purpose name -> purpose index */