From: shridhar kalavagunta Date: Fri, 12 Apr 2024 01:42:37 +0000 (-0500) Subject: Fix memory leak on error in crypto/conf/conf_mod.c X-Git-Tag: openssl-3.4.0-alpha1~493 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5bbdbce856c7ca132e039a24a315618484874c81;p=thirdparty%2Fopenssl.git Fix memory leak on error in crypto/conf/conf_mod.c Fixes #24111 Reviewed-by: Tom Cosgrove Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/24119) --- diff --git a/crypto/conf/conf_mod.c b/crypto/conf/conf_mod.c index ffdde5f467b..1ac3d9f7b75 100644 --- a/crypto/conf/conf_mod.c +++ b/crypto/conf/conf_mod.c @@ -528,13 +528,14 @@ void CONF_modules_unload(int all) old_modules = ossl_rcu_deref(&supported_modules); new_modules = sk_CONF_MODULE_dup(old_modules); - to_delete = sk_CONF_MODULE_new_null(); if (new_modules == NULL) { ossl_rcu_write_unlock(module_list_lock); return; } + to_delete = sk_CONF_MODULE_new_null(); + /* unload modules in reverse order */ for (i = sk_CONF_MODULE_num(new_modules) - 1; i >= 0; i--) { md = sk_CONF_MODULE_value(new_modules, i);