diff options
author | Jeremy Allison <jra@samba.org> | 2006-03-13 03:59:53 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:15:23 -0500 |
commit | f458596b0edd958321c5d4061f034846348a3fe6 (patch) | |
tree | 8cdd6424f2d40e77f22b1505d67dba7964a5cff2 /source/rpc_server/srv_spoolss_nt.c | |
parent | 6621acc68f9a65540330d5c0d07db2488a3e8678 (diff) | |
download | samba-f458596b0edd958321c5d4061f034846348a3fe6.tar.gz samba-f458596b0edd958321c5d4061f034846348a3fe6.tar.xz samba-f458596b0edd958321c5d4061f034846348a3fe6.zip |
r14286: Similar clarifiction fix for coverity #102.
Jeremy.
Diffstat (limited to 'source/rpc_server/srv_spoolss_nt.c')
-rw-r--r-- | source/rpc_server/srv_spoolss_nt.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/source/rpc_server/srv_spoolss_nt.c b/source/rpc_server/srv_spoolss_nt.c index 475862bc4c9..573603b659c 100644 --- a/source/rpc_server/srv_spoolss_nt.c +++ b/source/rpc_server/srv_spoolss_nt.c @@ -7288,8 +7288,8 @@ static WERROR enumports_level_1(RPC_BUFFER *buffer, uint32 offered, uint32 *need PORT_INFO_1 *ports=NULL; int i=0; WERROR result = WERR_OK; - char **qlines; - int numlines; + char **qlines = NULL; + int numlines = 0; result = enumports_hook( &numlines, &qlines ); if (!W_ERROR_IS_OK(result)) { @@ -7354,12 +7354,14 @@ static WERROR enumports_level_2(RPC_BUFFER *buffer, uint32 offered, uint32 *need PORT_INFO_2 *ports=NULL; int i=0; WERROR result = WERR_OK; - char **qlines; - int numlines; + char **qlines = NULL; + int numlines = 0; - if ( !W_ERROR_IS_OK(result = enumports_hook( &numlines, &qlines )) ) + result = enumports_hook( &numlines, &qlines ); + if ( !W_ERROR_IS_OK(result)) { + file_lines_free(qlines); return result; - + } if(numlines) { if((ports=SMB_MALLOC_ARRAY( PORT_INFO_2, numlines)) == NULL) { @@ -7371,10 +7373,10 @@ static WERROR enumports_level_2(RPC_BUFFER *buffer, uint32 offered, uint32 *need DEBUG(6,("Filling port number [%d] with port [%s]\n", i, qlines[i])); fill_port_2(&(ports[i]), qlines[i]); } - - file_lines_free(qlines); } + file_lines_free(qlines); + *returned = numlines; /* check the required size. */ |