Other errors are possible.
authorBen Laurie <ben@openssl.org>
Fri, 18 Jan 2002 12:19:24 +0000 (12:19 +0000)
committerBen Laurie <ben@openssl.org>
Fri, 18 Jan 2002 12:19:24 +0000 (12:19 +0000)
crypto/conf/conf_mod.c

index 27c11c1a764b68cf5b296c37df92e09126700ed7..f1950ea16dcde656aaa0ecd92a6c18a69420bd7f 100644 (file)
@@ -348,13 +348,20 @@ static int module_init(CONF_MODULE *pmod, char *name, char *value, CONF *cnf)
                }
 
        if (initialized_modules == NULL)
+               {
                initialized_modules = sk_CONF_IMODULE_new_null();
-
-       if (!initialized_modules)
-               goto err;
+               if (!initialized_modules)
+                       {
+                       CONFerr(CONF_F_MODULE_INIT, ERR_R_MALLOC_FAILURE);
+                       goto err;
+                       }
+               }
 
        if (!sk_CONF_IMODULE_push(initialized_modules, imod))
+               {
+               CONFerr(CONF_F_MODULE_INIT, ERR_R_MALLOC_FAILURE);
                goto err;
+               }
 
        pmod->links++;
 
@@ -362,8 +369,6 @@ static int module_init(CONF_MODULE *pmod, char *name, char *value, CONF *cnf)
 
        err:
 
-       CONFerr(CONF_F_MODULE_INIT, ERR_R_MALLOC_FAILURE);
-
        /* We've started the module so we'd better finish it */
        if (pmod->finish && init_called)
                pmod->finish(imod);