From: Ralph Boehme Date: Tue, 30 Jun 2020 15:02:07 +0000 (+0200) Subject: lib/debug: assert file backend X-Git-Tag: samba-4.13.0rc1~87 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5aeaa6959da326095e98f0369b6d91dc5667415e;p=thirdparty%2Fsamba.git lib/debug: assert file backend The debug file backend is a built-in default, if it's missing we're totally screwed. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14426 Signed-off-by: Ralph Boehme Reviewed-by: Andreas Schneider --- diff --git a/lib/util/debug.c b/lib/util/debug.c index 4b9a79e0b6f..ebd12bfb0a1 100644 --- a/lib/util/debug.c +++ b/lib/util/debug.c @@ -30,6 +30,7 @@ #include "util_strlist.h" /* LIST_SEP */ #include "blocking.h" #include "debug.h" +#include /* define what facility to use for syslog */ #ifndef SYSLOG_FACILITY @@ -1113,6 +1114,7 @@ static bool reopen_one_log(int *fd, const char *logfile) */ bool reopen_logs_internal(void) { + struct debug_backend *b = NULL; mode_t oldumask; int new_fd = 0; size_t i; @@ -1140,15 +1142,13 @@ bool reopen_logs_internal(void) dbgc_config[DBGC_ALL].fd = 2; return true; - case DEBUG_FILE: { - struct debug_backend *b = debug_find_backend("file"); + case DEBUG_FILE: + b = debug_find_backend("file"); + assert(b != NULL); - if (b != NULL) { - b->log_level = dbgc_config[DBGC_ALL].loglevel; - } + b->log_level = dbgc_config[DBGC_ALL].loglevel; break; } - } oldumask = umask( 022 );