]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Fix memory leak on error in crypto/conf/conf_mod.c
authorshridhar kalavagunta <coolshrid@hotmail.com>
Fri, 12 Apr 2024 01:42:37 +0000 (20:42 -0500)
committerTomas Mraz <tomas@openssl.org>
Wed, 5 Jun 2024 11:15:29 +0000 (13:15 +0200)
Fixes #24111

Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24119)

crypto/conf/conf_mod.c

index ffdde5f467b2da603f5754a2ac97e7818a766c17..1ac3d9f7b7573f887d4639718ea74841db195a27 100644 (file)
@@ -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);