From: JiashengJiang Date: Mon, 5 May 2025 01:41:39 +0000 (-0400) Subject: crypto/provider_conf.c: Fix possible memory leak X-Git-Tag: openssl-3.4.2~75 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3607cb7e8707c93bb8b3f63aaab6dabd2b0dd5c2;p=thirdparty%2Fopenssl.git crypto/provider_conf.c: Fix possible memory leak Assign the return value of ossl_provider_info_add_to_store to added instead of setting it directly to 1, in order to avoid a memory leak caused by entry not being freed if ossl_provider_info_add_to_store() fails. Signed-off-by: JiashengJiang Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/27472) (cherry picked from commit 9884f1dc11675a5c4613339cfb92903c6ba6103f) --- diff --git a/crypto/provider_conf.c b/crypto/provider_conf.c index 6a8b88e2e56..b53ea3b1f8a 100644 --- a/crypto/provider_conf.c +++ b/crypto/provider_conf.c @@ -379,7 +379,7 @@ static int provider_conf_load(OSSL_LIB_CTX *libctx, const char *name, ok = provider_conf_params(NULL, &entry, NULL, value, cnf); if (ok >= 1 && (entry.path != NULL || entry.parameters != NULL)) { ok = ossl_provider_info_add_to_store(libctx, &entry); - added = 1; + added = ok; } if (added == 0) ossl_provider_info_clear(&entry);