]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Fix a similar memory leak in SXNET_add_id_INTEGER
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Tue, 9 Jan 2024 14:05:30 +0000 (15:05 +0100)
committerTomas Mraz <tomas@openssl.org>
Wed, 10 Jan 2024 16:59:53 +0000 (17:59 +0100)
Even in the good case there was memory leak here.
Add a simple test case to have at least some test coverage.

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

crypto/x509/v3_sxnet.c
test/recipes/25-test_req.t

index b9ddfe324431a98eb804ca2dffff415783114da7..74209d3e3f2de70823bd61b4a8ebcdad0afc358a 100644 (file)
@@ -204,6 +204,7 @@ int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *zone, const char *user,
         ERR_raise(ERR_LIB_X509V3, ERR_R_CRYPTO_LIB);
         goto err;
     }
+    ASN1_INTEGER_free(id->zone);
     id->zone = zone;
     *psx = sx;
     return 1;
index 20e338b46f4f507480474606964a2527c5aba15a..50188cbae588cbbe1c13908d01a69e2dc629aca9 100644 (file)
@@ -15,7 +15,7 @@ use OpenSSL::Test qw/:DEFAULT srctop_file/;
 
 setup("test_req");
 
-plan tests => 106;
+plan tests => 107;
 
 require_ok(srctop_file('test', 'recipes', 'tconversion.pl'));
 
@@ -52,6 +52,7 @@ ok(!run(app([@addext_args, "-addext", $val, "-addext", $val])));
 ok(!run(app([@addext_args, "-addext", $val, "-addext", $val2])));
 ok(!run(app([@addext_args, "-addext", $val, "-addext", $val3])));
 ok(!run(app([@addext_args, "-addext", $val2, "-addext", $val3])));
+ok(run(app([@addext_args, "-addext", "SXNetID=1:one, 2:two, 3:three"])));
 
 # If a CSR is provided with neither of -key or -CA/-CAkey, this should fail.
 ok(!run(app(["openssl", "req", "-x509",