]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
make_addressPrefix(): Fix a memory leak in error case
authorTomas Mraz <tomas@openssl.org>
Thu, 11 Apr 2024 07:40:18 +0000 (09:40 +0200)
committerTomas Mraz <tomas@openssl.org>
Fri, 12 Apr 2024 08:56:28 +0000 (10:56 +0200)
Fixes #24098

Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24102)

crypto/x509/v3_addr.c

index a37d4f2b91bf44417f0e98fd24964d1c448feeaa..d0e5f9efe601612e0f38c5945d24ac9e978fe20d 100644 (file)
@@ -407,11 +407,11 @@ static int make_addressPrefix(IPAddressOrRange **result, unsigned char *addr,
                               const int prefixlen, const int afilen)
 {
     int bytelen = (prefixlen + 7) / 8, bitlen = prefixlen % 8;
-    IPAddressOrRange *aor = IPAddressOrRange_new();
+    IPAddressOrRange *aor;
 
     if (prefixlen < 0 || prefixlen > (afilen * 8))
         return 0;
-    if (aor == NULL)
+    if ((aor = IPAddressOrRange_new()) == NULL)
         return 0;
     aor->type = IPAddressOrRange_addressPrefix;
     if (aor->u.addressPrefix == NULL &&