diff options
author | Pauli <ppzgs1@gmail.com> | 2021-03-23 10:35:13 +1000 |
---|---|---|
committer | Pauli <pauli@openssl.org> | 2021-03-26 08:41:32 +1000 |
commit | 9aa4be691f5c73eb3c68606d824c104550c053f7 (patch) | |
tree | 62186bfb34e7430401df536da23a67e6c570618e /crypto/x509 | |
parent | 96a68f21c305d33f89e1e0bc9c45b6afb0de7654 (diff) | |
download | openssl-new-9aa4be691f5c73eb3c68606d824c104550c053f7.tar.gz |
x509: fix coverity 1474424: data race condition
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14651)
Diffstat (limited to 'crypto/x509')
-rw-r--r-- | crypto/x509/pcy_map.c | 4 |
1 files changed, 3 insertions, 1 deletions
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; |