Fix locking in ssl_cert_dup() Properly check the return value of CRYPTO_THREAD_lock_new() Signed-off-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index 21cfb96..8915531 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c
@@ -190,7 +190,7 @@ ret->references = 1; ret->key = &ret->pkeys[cert->key - cert->pkeys]; ret->lock = CRYPTO_THREAD_lock_new(); - if (ret == NULL) { + if (ret->lock == NULL) { SSLerr(SSL_F_SSL_CERT_DUP, ERR_R_MALLOC_FAILURE); OPENSSL_free(ret); return NULL;