From e66cc350bbc3dbf2debf2b1ba925841547eff421 Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Mon, 24 Oct 2022 09:22:01 +0100 Subject: [PATCH] Fix a lock in provider_remove_store_methods() We were taking a read lock. It should have been a write lock. Fixes #19474 --- crypto/provider_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/provider_core.c b/crypto/provider_core.c index efddbf74f8330..c05b2f5496e73 100644 --- a/crypto/provider_core.c +++ b/crypto/provider_core.c @@ -1208,7 +1208,7 @@ static int provider_remove_store_methods(OSSL_PROVIDER *prov) if (!freeing) { int acc; - if (!CRYPTO_THREAD_read_lock(prov->opbits_lock)) + if (!CRYPTO_THREAD_write_lock(prov->opbits_lock)) return 0; OPENSSL_free(prov->operation_bits); prov->operation_bits = NULL;