r14289: Fix coverity #101, resource leak on error code path.
authorJeremy Allison <jra@samba.org>
Mon, 13 Mar 2006 04:05:47 +0000 (04:05 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:15:23 +0000 (11:15 -0500)
Jeremy.

source/rpc_server/srv_spoolss_nt.c

index 573603b659ce4a14dac802a763c35d10e27c52c3..dd706b68edd5cf0f405c347962a10647c7e6879d 100644 (file)
@@ -7046,12 +7046,17 @@ WERROR _spoolss_enumforms(pipes_struct *p, SPOOL_Q_ENUMFORMS *q_u, SPOOL_R_ENUMF
        DEBUGADD(5,("Number of user forms [%d]\n",     *numofforms));
        *numofforms += numbuiltinforms;
 
-       if (*numofforms == 0) 
+       if (*numofforms == 0) {
+               SAFE_FREE(builtinlist);
+               SAFE_FREE(list);
                return WERR_NO_MORE_ITEMS;
+       }
 
        switch (level) {
        case 1:
                if ((forms_1=SMB_MALLOC_ARRAY(FORM_1, *numofforms)) == NULL) {
+                       SAFE_FREE(builtinlist);
+                       SAFE_FREE(list);
                        *numofforms=0;
                        return WERR_NOMEM;
                }
@@ -7114,7 +7119,6 @@ WERROR _spoolss_enumforms(pipes_struct *p, SPOOL_Q_ENUMFORMS *q_u, SPOOL_R_ENUMF
                SAFE_FREE(builtinlist);
                return WERR_UNKNOWN_LEVEL;
        }
-
 }
 
 /****************************************************************************