summaryrefslogtreecommitdiff
path: root/crypto/x509/v3_purp.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/x509/v3_purp.c')
-rw-r--r--crypto/x509/v3_purp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/x509/v3_purp.c b/crypto/x509/v3_purp.c
index 1149e83780..ee2d3c7289 100644
--- a/crypto/x509/v3_purp.c
+++ b/crypto/x509/v3_purp.c
@@ -411,7 +411,8 @@ int x509v3_cache_extensions(X509 *x)
return (x->ex_flags & EXFLAG_INVALID) == 0;
#endif
- CRYPTO_THREAD_write_lock(x->lock);
+ if (!CRYPTO_THREAD_write_lock(x->lock))
+ return 0;
if (x->ex_flags & EXFLAG_SET) { /* Cert has already been processed */
CRYPTO_THREAD_unlock(x->lock);
return (x->ex_flags & EXFLAG_INVALID) == 0;