Adapt all public EVP_XXX_do_all_provided() for the changed evp_generic_do_all()
authorRichard Levitte <levitte@openssl.org>
Wed, 9 Jun 2021 05:52:09 +0000 (07:52 +0200)
committerRichard Levitte <levitte@openssl.org>
Tue, 15 Jun 2021 14:21:32 +0000 (16:21 +0200)
Fixes #15538
Fixes #14837

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

crypto/evp/asymcipher.c
crypto/evp/digest.c
crypto/evp/evp_enc.c
crypto/evp/evp_rand.c
crypto/evp/exchange.c
crypto/evp/kdf_meth.c
crypto/evp/kem.c
crypto/evp/keymgmt_meth.c
crypto/evp/mac_meth.c
crypto/evp/signature.c

index 1368f7094ec2a968b49943f089ccf55331a5ada8..3150bfa94b2ba7becd3062c41196876b7e9e624c 100644 (file)
@@ -451,6 +451,7 @@ void EVP_ASYM_CIPHER_do_all_provided(OSSL_LIB_CTX *libctx,
     evp_generic_do_all(libctx, OSSL_OP_ASYM_CIPHER,
                        (void (*)(void *, void *))fn, arg,
                        evp_asym_cipher_from_algorithm,
+                       (int (*)(void *))EVP_ASYM_CIPHER_up_ref,
                        (void (*)(void *))EVP_ASYM_CIPHER_free);
 }
 
index 00806ae201c7f3d87a41406588ddb9421cdf26c1..98c39343bed66efca7cdaf9d602b8d3b3760492a 100644 (file)
@@ -1069,5 +1069,5 @@ void EVP_MD_do_all_provided(OSSL_LIB_CTX *libctx,
 {
     evp_generic_do_all(libctx, OSSL_OP_DIGEST,
                        (void (*)(void *, void *))fn, arg,
-                       evp_md_from_algorithm, evp_md_free);
+                       evp_md_from_algorithm, evp_md_up_ref, evp_md_free);
 }
index 5188e736022060c62b5c5f46b45ea154342ba299..3a8e2c643e48f102c702ad89064d13dd16472b1c 100644 (file)
@@ -1649,5 +1649,6 @@ void EVP_CIPHER_do_all_provided(OSSL_LIB_CTX *libctx,
 {
     evp_generic_do_all(libctx, OSSL_OP_CIPHER,
                        (void (*)(void *, void *))fn, arg,
-                       evp_cipher_from_algorithm, evp_cipher_free);
+                       evp_cipher_from_algorithm, evp_cipher_up_ref,
+                       evp_cipher_free);
 }
index a76d746d9a4d45d8fc82b929b8c9b372b5741c0e..7b1a44241ecbe43322d0d36cd53cb7a0d1c234c9 100644 (file)
@@ -489,7 +489,8 @@ void EVP_RAND_do_all_provided(OSSL_LIB_CTX *libctx,
 {
     evp_generic_do_all(libctx, OSSL_OP_RAND,
                        (void (*)(void *, void *))fn, arg,
-                       evp_rand_from_algorithm, evp_rand_free);
+                       evp_rand_from_algorithm, evp_rand_up_ref,
+                       evp_rand_free);
 }
 
 int EVP_RAND_names_do_all(const EVP_RAND *rand,
index 72472aaace8c41dba32619adb8fc36f9a6f9abb7..ca8a049a1bdf4de075a2c60fff95687dc4737e92 100644 (file)
@@ -485,6 +485,7 @@ void EVP_KEYEXCH_do_all_provided(OSSL_LIB_CTX *libctx,
     evp_generic_do_all(libctx, OSSL_OP_KEYEXCH,
                        (void (*)(void *, void *))fn, arg,
                        evp_keyexch_from_algorithm,
+                       (int (*)(void *))EVP_KEYEXCH_up_ref,
                        (void (*)(void *))EVP_KEYEXCH_free);
 }
 
index 8759021afc4a48859dec87c6966a03af3589aa6a..94af5d40a091e682d318a277aa992eefdf72c64c 100644 (file)
@@ -228,5 +228,5 @@ void EVP_KDF_do_all_provided(OSSL_LIB_CTX *libctx,
 {
     evp_generic_do_all(libctx, OSSL_OP_KDF,
                        (void (*)(void *, void *))fn, arg,
-                       evp_kdf_from_algorithm, evp_kdf_free);
+                       evp_kdf_from_algorithm, evp_kdf_up_ref, evp_kdf_free);
 }
index 721b840ea53b5b2e2998656dc495fb3f547cda2a..cb904a6b2670d726f1103ed7d21332ffbe42d0af 100644 (file)
@@ -364,6 +364,7 @@ void EVP_KEM_do_all_provided(OSSL_LIB_CTX *libctx,
 {
     evp_generic_do_all(libctx, OSSL_OP_KEM, (void (*)(void *, void *))fn, arg,
                        evp_kem_from_algorithm,
+                       (int (*)(void *))EVP_KEM_up_ref,
                        (void (*)(void *))EVP_KEM_free);
 }
 
index 439b8f035c88d4b4d30d51180e8ac710edc1074d..ca357b60efd20205fbee6179ed424b84d77dbd3c 100644 (file)
@@ -278,6 +278,7 @@ void EVP_KEYMGMT_do_all_provided(OSSL_LIB_CTX *libctx,
     evp_generic_do_all(libctx, OSSL_OP_KEYMGMT,
                        (void (*)(void *, void *))fn, arg,
                        keymgmt_from_algorithm,
+                       (int (*)(void *))EVP_KEYMGMT_up_ref,
                        (void (*)(void *))EVP_KEYMGMT_free);
 }
 
index 74cfecbcdffd191a12ebd9ca09a2cb2a014ab371..99b1e3b0035a22d2ad5615cfdadbfb21131af314 100644 (file)
@@ -233,5 +233,5 @@ void EVP_MAC_do_all_provided(OSSL_LIB_CTX *libctx,
 {
     evp_generic_do_all(libctx, OSSL_OP_MAC,
                        (void (*)(void *, void *))fn, arg,
-                       evp_mac_from_algorithm, evp_mac_free);
+                       evp_mac_from_algorithm, evp_mac_up_ref, evp_mac_free);
 }
index b31f6a4bd0a84e925fba113067bec82dfbcde6f9..e3bfdd56a2466cacd77d8148670afa6bef95adab 100644 (file)
@@ -342,6 +342,7 @@ void EVP_SIGNATURE_do_all_provided(OSSL_LIB_CTX *libctx,
     evp_generic_do_all(libctx, OSSL_OP_SIGNATURE,
                        (void (*)(void *, void *))fn, arg,
                        evp_signature_from_algorithm,
+                       (int (*)(void *))EVP_SIGNATURE_up_ref,
                        (void (*)(void *))EVP_SIGNATURE_free);
 }