]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Allow our *_gen_cleanup functions to tolerate a NULL ctx
authorMatt Caswell <matt@openssl.org>
Wed, 11 Jun 2025 08:50:16 +0000 (09:50 +0100)
committerNeil Horman <nhorman@openssl.org>
Sat, 14 Jun 2025 14:46:21 +0000 (10:46 -0400)
Our *_gen_cleanup functions are essentially "free" functions. Our
free functions tolerate NULL being passed. We are being inconsistent with
our *_gen_cleanup functions. Some of them tolerate NULL and others do not.

We should consistently tolerate NULL.

See also #27795

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/27813)

(cherry picked from commit 743bae4a225b9df1d11446e5f0620270b10c835a)

providers/implementations/keymgmt/ecx_kmgmt.c
providers/implementations/keymgmt/mac_legacy_kmgmt.c

index 7313d3c01458f34598ca8a124da2d313592041c9..4ad87a848b5ba6680eebe7f9bacb1b344125ee92 100644 (file)
@@ -696,6 +696,9 @@ static void ecx_gen_cleanup(void *genctx)
 {
     struct ecx_gen_ctx *gctx = genctx;
 
+    if (gctx == NULL)
+        return;
+
     OPENSSL_free(gctx->propq);
     OPENSSL_free(gctx);
 }
index b02a0a91c6f6619aa192e834c73707c0f1aa5483..0b8cf9252c4b95a1c6055bb05f1c4a9836518973 100644 (file)
@@ -527,6 +527,9 @@ static void mac_gen_cleanup(void *genctx)
 {
     struct mac_gen_ctx *gctx = genctx;
 
+    if (gctx == NULL)
+        return;
+
     OPENSSL_secure_clear_free(gctx->priv_key, gctx->priv_key_len);
     ossl_prov_cipher_reset(&gctx->cipher);
     OPENSSL_free(gctx);