From: Pauli Date: Tue, 14 Mar 2023 01:04:11 +0000 (+1100) Subject: Coverity 1521490: resource leak X-Git-Tag: openssl-3.2.0-alpha1~1161 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b36e677f8f563301207ea658e29b3a8f88c2951b;p=thirdparty%2Fopenssl.git Coverity 1521490: resource leak Reviewed-by: Tomas Mraz Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/20504) --- diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index 1c4f452997a..f35ec2ab680 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -106,14 +106,17 @@ CERT *ssl_cert_dup(CERT *cert) ret->ssl_pkey_num = cert->ssl_pkey_num; ret->pkeys = OPENSSL_zalloc(ret->ssl_pkey_num * sizeof(CERT_PKEY)); - if (ret->pkeys == NULL) + if (ret->pkeys == NULL) { + OPENSSL_free(ret); return NULL; + } ret->references = 1; ret->key = &ret->pkeys[cert->key - cert->pkeys]; ret->lock = CRYPTO_THREAD_lock_new(); if (ret->lock == NULL) { ERR_raise(ERR_LIB_SSL, ERR_R_CRYPTO_LIB); + OPENSSL_free(ret->pkeys); OPENSSL_free(ret); return NULL; }