]> 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:57:35 +0000 (10:57 +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)

(cherry picked from commit 682ed1b86ebe97036ab37897d528343d0e4def69)

crypto/x509/v3_addr.c

index 4930f33124222f22b4983072fe5d33fa24518e84..20f3d2ba70deaa5bf5d445b75dbeef2709c1598d 100644 (file)
@@ -397,11 +397,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 &&