lib/util: fix the default code path for debug_set_settings()
authorStefan Metzmacher <metze@samba.org>
Wed, 25 Mar 2015 10:56:57 +0000 (10:56 +0000)
committerAndreas Schneider <asn@cryptomilk.org>
Wed, 25 Mar 2015 11:24:14 +0000 (12:24 +0100)
logging_param is typically "" instead of NULL!

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
lib/util/debug.c

index 6b16cd72815bf27b1d529282e7992d8b2552c4f6..91b02b450857a5fe7fbe2bc47eb4a715f5ee1b98 100644 (file)
@@ -763,7 +763,8 @@ void debug_set_settings(struct debug_settings *settings,
                        const char *logging_param,
                        int syslog_level, bool syslog_only)
 {
-       char fake_param[20];
+       char fake_param[256];
+       size_t len = 0;
 
        /*
         * This forces in some smb.conf derived values into the debug
@@ -776,7 +777,10 @@ void debug_set_settings(struct debug_settings *settings,
         * If 'logging' is not set, create backend settings from
         * deprecated 'syslog' and 'syslog only' paramters
         */
-       if (!logging_param) {
+       if (logging_param != NULL) {
+               len = strlen(logging_param);
+       }
+       if (len == 0) {
                if (syslog_only) {
                        snprintf(fake_param, sizeof(fake_param),
                                 "syslog:%d", syslog_level - 1);