]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Clear keymgmt params containing sensitive data
authorSimo Sorce <simo@redhat.com>
Mon, 28 Jul 2025 19:32:06 +0000 (15:32 -0400)
committerDmitry Belyavskiy <beldmit@gmail.com>
Wed, 22 Oct 2025 19:08:38 +0000 (21:08 +0200)
Signed-off-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/28108)

providers/implementations/keymgmt/dh_kmgmt.c
providers/implementations/keymgmt/dsa_kmgmt.c
providers/implementations/keymgmt/ec_kmgmt.c
providers/implementations/keymgmt/ecx_kmgmt.c
providers/implementations/keymgmt/lms_kmgmt.c
providers/implementations/keymgmt/mac_legacy_kmgmt.c
providers/implementations/keymgmt/ml_kem_kmgmt.c
providers/implementations/keymgmt/mlx_kmgmt.c
providers/implementations/keymgmt/rsa_kmgmt.c
providers/implementations/keymgmt/slh_dsa_kmgmt.c

index 7a95ac0d73a2a467fc64edd1740a8d12413c5e6f..e454a337266610da203b4c7de608a2bf7b7e183a 100644 (file)
@@ -249,7 +249,7 @@ static int dh_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,
     }
 
     ok = param_cb(params, cbarg);
-    OSSL_PARAM_free(params);
+    OSSL_PARAM_clear_free(params);
 err:
     OSSL_PARAM_BLD_free(tmpl);
     return ok;
index 5b3358e0dde5322a82d93ceb60cf461d78e4f962..4e2945a231cc9f28b9e77e456347e17f0eacc137 100644 (file)
@@ -249,7 +249,7 @@ static int dsa_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,
     }
 
     ok = param_cb(params, cbarg);
-    OSSL_PARAM_free(params);
+    OSSL_PARAM_clear_free(params);
 err:
     OSSL_PARAM_BLD_free(tmpl);
     return ok;
index 5b7cca59c56a4375af42dc4ae6d98f5e46e892d6..9e96dffd2c6682ae5afa082853397e7a7338e3a4 100644 (file)
@@ -515,7 +515,7 @@ int ec_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,
     }
 
     ok = param_cb(params, cbarg);
-    OSSL_PARAM_free(params);
+    OSSL_PARAM_clear_free(params);
 end:
     OSSL_PARAM_BLD_free(tmpl);
     OPENSSL_free(pub_key);
index c9e4ceca50949f24b52d9b8b2344392927213e69..0acb1796234ef97fa624242335469a75dd1d9e4e 100644 (file)
@@ -292,7 +292,7 @@ static int ecx_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,
         goto err;
 
     ret = param_cb(params, cbarg);
-    OSSL_PARAM_free(params);
+    OSSL_PARAM_clear_free(params);
 err:
     OSSL_PARAM_BLD_free(tmpl);
     return ret;
index 867b56b57337e6f357fb58c5801bb1b3b0e70ddd..54f49902d7ae912f53d432722542ddd2dc4cae76 100644 (file)
@@ -117,7 +117,7 @@ static int lms_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,
         goto err;
 
     ret = param_cb(params, cbarg);
-    OSSL_PARAM_free(params);
+    OSSL_PARAM_clear_free(params);
 err:
     OSSL_PARAM_BLD_free(tmpl);
     return ret;
index 85da34dad6e92c028aecaba9aa5d5bde41e0422e..4b3b4e8c9c87e69f13a5aeb9f5ea5b9d02b12038 100644 (file)
@@ -338,7 +338,7 @@ static int mac_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,
         goto err;
 
     ret = param_cb(params, cbarg);
-    OSSL_PARAM_free(params);
+    OSSL_PARAM_clear_free(params);
 err:
     OSSL_PARAM_BLD_free(tmpl);
     return ret;
index c63c9d1fa7593cc8d5189128c16747aed43d5bff..81d5139153925e12129afedb671cfbd392e4ef86 100644 (file)
@@ -320,7 +320,7 @@ static int ml_kem_export(void *vkey, int selection, OSSL_CALLBACK *param_cb,
         goto err;
 
     ret = param_cb(params, cbarg);
-    OSSL_PARAM_free(params);
+    OSSL_PARAM_clear_free(params);
 
 err:
     OSSL_PARAM_BLD_free(tmpl);
index 3b557d537dcfe00235bb84fdb6fd50680864d6a9..e8fd93cbf06b69f8e7cb1ecf6c154cf32aab596e 100644 (file)
@@ -307,7 +307,7 @@ static int mlx_kem_export(void *vkey, int selection, OSSL_CALLBACK *param_cb,
         goto err;
 
     ret = param_cb(params, cbarg);
-    OSSL_PARAM_free(params);
+    OSSL_PARAM_clear_free(params);
 
  err:
     OSSL_PARAM_BLD_free(tmpl);
index 68691280cdf6024598c6c1a2e4f78d838c1bfc44..0fafcc7872b7ac20e5fb092f4113f280be10d84d 100644 (file)
@@ -235,7 +235,7 @@ static int rsa_export(void *keydata, int selection,
     }
 
     ok = param_callback(params, cbarg);
-    OSSL_PARAM_free(params);
+    OSSL_PARAM_clear_free(params);
 err:
     OSSL_PARAM_BLD_free(tmpl);
     return ok;
index 0bec4642b0a1ee627ddc14d422e879b219a51e64..df538ddd851e8627348b60fa163f62ca0a21ab74 100644 (file)
@@ -235,7 +235,7 @@ static int slh_dsa_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,
         goto err;
 
     ret = param_cb(params, cbarg);
-    OSSL_PARAM_free(params);
+    OSSL_PARAM_clear_free(params);
 err:
     OSSL_PARAM_BLD_free(tmpl);
     return ret;