diff options
author | Matt Caswell <matt@openssl.org> | 2022-10-24 11:22:01 +0300 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2022-10-25 13:52:04 +0300 |
commit | 6962e21b7c51480343db1a275f52525754dcbe44 (patch) | |
tree | 383561a99e147d6dd7e94e5d3e53cd697efc7bd1 | |
parent | 50bed93a7655dc6d990aa42e52b316a97e2dc820 (diff) |
Fix a lock in provider_remove_store_methods()
We were taking a read lock. It should have been a write lock.
Fixes #19474
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19481)
-rw-r--r-- | crypto/provider_core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/provider_core.c b/crypto/provider_core.c index efddbf74f8..c05b2f5496 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; |