summaryrefslogtreecommitdiffstats
path: root/source3/nmbd
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@samba.org>2014-10-06 18:21:16 +0200
committerJeremy Allison <jra@samba.org>2014-10-06 19:18:05 +0200
commit21ed8058d2e295e93c9df8e954de28478a060e94 (patch)
tree9b72e70efafddd473c25cc8dbdf60154367dd76f /source3/nmbd
parent58b18e23e9de221e80fe978366ef05b65312919b (diff)
downloadsamba-21ed8058d2e295e93c9df8e954de28478a060e94.tar.gz
samba-21ed8058d2e295e93c9df8e954de28478a060e94.tar.xz
samba-21ed8058d2e295e93c9df8e954de28478a060e94.zip
nmbd: don't leak cache_path onto talloc tos
Reported-by: Franz Pförtsch <franz.pfoertsch@brose.com> Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/nmbd')
-rw-r--r--source3/nmbd/nmbd_serverlistdb.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source3/nmbd/nmbd_serverlistdb.c b/source3/nmbd/nmbd_serverlistdb.c
index f697f05efe..56f400f6e3 100644
--- a/source3/nmbd/nmbd_serverlistdb.c
+++ b/source3/nmbd/nmbd_serverlistdb.c
@@ -311,6 +311,7 @@ void write_browse_list(time_t t, bool force_write)
fnamenew = talloc_asprintf(ctx, "%s.",
fname);
if (!fnamenew) {
+ talloc_free(fname);
return;
}
@@ -319,6 +320,8 @@ void write_browse_list(time_t t, bool force_write)
if (!fp) {
DEBUG(0,("write_browse_list: Can't open file %s. Error was %s\n",
fnamenew,strerror(errno)));
+ talloc_free(fnamenew);
+ talloc_free(fname);
return;
}
@@ -331,6 +334,8 @@ void write_browse_list(time_t t, bool force_write)
DEBUG(0,("write_browse_list: Fatal error - cannot find my workgroup %s\n",
lp_workgroup()));
x_fclose(fp);
+ talloc_free(fnamenew);
+ talloc_free(fname);
return;
}
@@ -399,4 +404,6 @@ void write_browse_list(time_t t, bool force_write)
chmod(fnamenew,0644);
rename(fnamenew,fname);
DEBUG(3,("write_browse_list: Wrote browse list into file %s\n",fname));
+ talloc_free(fnamenew);
+ talloc_free(fname);
}