From 21ed8058d2e295e93c9df8e954de28478a060e94 Mon Sep 17 00:00:00 2001 From: David Disseldorp Date: Mon, 6 Oct 2014 18:21:16 +0200 Subject: nmbd: don't leak cache_path onto talloc tos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reported-by: Franz Pförtsch Signed-off-by: David Disseldorp Reviewed-by: Jeremy Allison --- source3/nmbd/nmbd_serverlistdb.c | 7 +++++++ 1 file changed, 7 insertions(+) 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); } -- cgit