The branch master has been updated
       via  fb0f65fff831d9294e34b6ef6f579c157db54b04 (commit)
      from  d5d95daba59adc41ab60ea86acd513f255fca3c0 (commit)


- Log -----------------------------------------------------------------
commit fb0f65fff831d9294e34b6ef6f579c157db54b04
Author: Richard Levitte <[email protected]>
Date:   Sat Oct 16 10:22:42 2021 +0200

    Fix lock leak in evp_keymgmt_util_export_to_provider()
    
    Fixes #16847
    
    Reviewed-by: Tim Hudson <[email protected]>
    (Merged from https://github.com/openssl/openssl/pull/16849)

-----------------------------------------------------------------------

Summary of changes:
 crypto/evp/keymgmt_lib.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/crypto/evp/keymgmt_lib.c b/crypto/evp/keymgmt_lib.c
index 32e4fbcbaa..875c9a83de 100644
--- a/crypto/evp/keymgmt_lib.c
+++ b/crypto/evp/keymgmt_lib.c
@@ -197,6 +197,7 @@ void *evp_keymgmt_util_export_to_provider(EVP_PKEY *pk, 
EVP_KEYMGMT *keymgmt)
 
     /* Add the new export to the operation cache */
     if (!evp_keymgmt_util_cache_keydata(pk, keymgmt, import_data.keydata)) {
+        CRYPTO_THREAD_unlock(pk->lock);
         evp_keymgmt_freedata(keymgmt, import_data.keydata);
         return NULL;
     }

Reply via email to