Coverity found the following issues:

1591471
1591474
1591476

which pertain to memory leaks in the conf_mod code

If an error is encountered after the module STACK_OF is duplicated or
created in the new_modules variable, we need to remember to free it in
the error path

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23462)
This commit is contained in:
Neil Horman 2024-02-02 08:20:50 -05:00 committed by Pauli
parent d092208bd6
commit a928f26813
1 changed files with 2 additions and 0 deletions

View File

@ -368,6 +368,7 @@ static CONF_MODULE *module_add(DSO *dso, const char *name,
err:
ossl_rcu_write_unlock(module_list_lock);
sk_CONF_MODULE_free(new_modules);
if (tmod != NULL) {
OPENSSL_free(tmod->name);
OPENSSL_free(tmod);
@ -466,6 +467,7 @@ static int module_init(CONF_MODULE *pmod, const char *name, const char *value,
if (!sk_CONF_IMODULE_push(new_modules, imod)) {
ossl_rcu_write_unlock(module_list_lock);
sk_CONF_IMODULE_free(new_modules);
ERR_raise(ERR_LIB_CONF, ERR_R_CRYPTO_LIB);
goto err;
}