]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
x509: fix coverity 1474424: data race condition
authorPauli <ppzgs1@gmail.com>
Tue, 23 Mar 2021 00:35:13 +0000 (10:35 +1000)
committerPauli <pauli@openssl.org>
Thu, 25 Mar 2021 22:41:32 +0000 (08:41 +1000)
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14651)

crypto/x509/pcy_map.c

index b599ff98048c7df546427ea8cbe47571fb79e823..d129eca4c39e049966cd055df375f4516e38d6a2 100644 (file)
@@ -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;