diff options
author | Richard Levitte <levitte@openssl.org> | 2021-10-16 10:22:42 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2021-10-18 07:57:56 +0200 |
commit | 26d2016d5b81d78de90f075d630d38fe2badb84f (patch) | |
tree | 8b8f771606d5fc7932b2898e9d9feba6a9bd91de /crypto/evp | |
parent | 31287743c07cef63a2bc9b31a393a7e3b2527f88 (diff) |
Fix lock leak in evp_keymgmt_util_export_to_provider()
Fixes #16847
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/16849)
(cherry picked from commit fb0f65fff831d9294e34b6ef6f579c157db54b04)
Diffstat (limited to 'crypto/evp')
-rw-r--r-- | crypto/evp/keymgmt_lib.c | 1 |
1 files changed, 1 insertions, 0 deletions
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; } |