summaryrefslogtreecommitdiffstats
path: root/source/rpc_server/srv_spoolss_nt.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2006-03-13 06:50:33 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:15:24 -0500
commitf1a5e5aefeeb78512c41cc8fc075b240696a3eb7 (patch)
tree404f103bc05a1b44f42f31a98c2c2b06c6bf803c /source/rpc_server/srv_spoolss_nt.c
parent1c0b4ed0acdb7fccb148d714796752fefc6dd78c (diff)
downloadsamba-f1a5e5aefeeb78512c41cc8fc075b240696a3eb7.tar.gz
samba-f1a5e5aefeeb78512c41cc8fc075b240696a3eb7.tar.xz
samba-f1a5e5aefeeb78512c41cc8fc075b240696a3eb7.zip
r14301: Fix coverity #224. In a loop we were forgetting to free
resources on error exit path. Jeremy.
Diffstat (limited to 'source/rpc_server/srv_spoolss_nt.c')
-rw-r--r--source/rpc_server/srv_spoolss_nt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/source/rpc_server/srv_spoolss_nt.c b/source/rpc_server/srv_spoolss_nt.c
index 57509fcd87f..31a278f7f37 100644
--- a/source/rpc_server/srv_spoolss_nt.c
+++ b/source/rpc_server/srv_spoolss_nt.c
@@ -6799,8 +6799,10 @@ static WERROR enumprinterdrivers_level2(fstring servername, fstring architecture
ndrivers=get_ntdrivers(&list, architecture, version);
DEBUGADD(4,("we have:[%d] drivers in environment [%s] and version [%d]\n", ndrivers, architecture, version));
- if(ndrivers == -1)
+ if(ndrivers == -1) {
+ SAFE_FREE(driver_info_2);
return WERR_NOMEM;
+ }
if(ndrivers != 0) {
if((driver_info_2=SMB_REALLOC_ARRAY(driver_info_2, DRIVER_INFO_2, *returned+ndrivers )) == NULL) {