From: Richard Levitte Date: Sat, 16 Oct 2021 08:22:42 +0000 (+0200) Subject: Fix lock leak in evp_keymgmt_util_export_to_provider() X-Git-Tag: openssl-3.2.0-alpha1~3464 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fb0f65fff831d9294e34b6ef6f579c157db54b04;p=thirdparty%2Fopenssl.git 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) --- 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; }