From fb0f65fff831d9294e34b6ef6f579c157db54b04 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Sat, 16 Oct 2021 10:22:42 +0200 Subject: [PATCH] Fix lock leak in evp_keymgmt_util_export_to_provider() Fixes #16847 Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/16849) --- 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 32e4fbcbaa0..875c9a83de1 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; } -- 2.47.3