summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2004-08-16 15:30:17 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:52:21 -0500
commit08037bd4427a99150c1cc65770681ec3f92f4ad5 (patch)
tree031a5cd43d20a23df79a7fd14614659911a2f84f
parent980740da784ce00ad1b388872297b82d4d368044 (diff)
downloadsamba-08037bd4427a99150c1cc65770681ec3f92f4ad5.tar.gz
samba-08037bd4427a99150c1cc65770681ec3f92f4ad5.tar.xz
samba-08037bd4427a99150c1cc65770681ec3f92f4ad5.zip
r1834: prevent infinite recusion in reopen_logs() when expanding the smb.conf variable %I
-rw-r--r--source/lib/debug.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source/lib/debug.c b/source/lib/debug.c
index e5e203e076a..01aedb47740 100644
--- a/source/lib/debug.c
+++ b/source/lib/debug.c
@@ -572,6 +572,7 @@ BOOL reopen_logs( void )
oldumask = umask( 022 );
pstrcpy(fname, debugf );
+ debugf[0] = '\0';
if (lp_loaded()) {
char *logfname;
@@ -726,7 +727,12 @@ void check_log_size( void )
errno = old_errno;
return( 0 );
}
-
+
+ /* prevent recursion by checking if reopen_logs() has temporaily
+ set the debugf string to "" */
+ if( debugf[0] == '\0')
+ return( 0 );
+
#ifdef WITH_SYSLOG
if( !lp_syslog_only() )
#endif