From 9aa4be691f5c73eb3c68606d824c104550c053f7 Mon Sep 17 00:00:00 2001 From: Pauli Date: Tue, 23 Mar 2021 10:35:13 +1000 Subject: x509: fix coverity 1474424: data race condition Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/14651) --- crypto/x509/pcy_map.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'crypto') diff --git a/crypto/x509/pcy_map.c b/crypto/x509/pcy_map.c index b599ff9804..d129eca4c3 100644 --- a/crypto/x509/pcy_map.c +++ b/crypto/x509/pcy_map.c @@ -73,8 +73,10 @@ int ossl_policy_cache_set_mapping(X509 *x, POLICY_MAPPINGS *maps) ret = 1; bad_mapping: - if (ret == -1) + if (ret == -1 && CRYPTO_THREAD_write_lock(x->lock)) { x->ex_flags |= EXFLAG_INVALID_POLICY; + CRYPTO_THREAD_unlock(x->lock); + } sk_POLICY_MAPPING_pop_free(maps, POLICY_MAPPING_free); return ret; -- cgit v1.2.3