From adf65489bd358c4da73d3e5f23365ee2596dbe6d Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 23 Jun 2004 01:51:45 +0000 Subject: r1224: Fix longstanding memleak bug with logfile name being set before lp_load() loads the initial config file and overwrites the written logfile name with zeros in init_globals(). Ensure we do a string_free() on Globals.szLogFile if it isn't NULL. Jeremy. (This used to be commit c378f3c32533c085fef2c2e07f0660781a16a341) --- source3/param/loadparm.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 247159a7b1..12bbebcaa8 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -1293,6 +1293,13 @@ static void init_globals(void) if (!done_init) { int i; + + /* The logfile can be set before this is invoked. Free it if so. */ + if (Globals.szLogFile != NULL) { + string_free(&Globals.szLogFile); + Globals.szLogFile = NULL; + } + memset((void *)&Globals, '\0', sizeof(Globals)); for (i = 0; parm_table[i].label; i++) -- cgit