From 5feea2be6141f0bb86644bb7ca29a94efa0eb99e Mon Sep 17 00:00:00 2001 From: JiashengJiang Date: Sun, 4 May 2025 21:41:39 -0400 Subject: [PATCH] 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) --- crypto/provider_conf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/provider_conf.c b/crypto/provider_conf.c index 9333b8777f2..e8f7f54b3da 100644 --- a/crypto/provider_conf.c +++ b/crypto/provider_conf.c @@ -331,7 +331,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); -- 2.47.2