diff --git a/logsrvd/logsrvd_conf.c b/logsrvd/logsrvd_conf.c index 18d46b11f..4f3f6b75f 100644 --- a/logsrvd/logsrvd_conf.c +++ b/logsrvd/logsrvd_conf.c @@ -1282,6 +1282,10 @@ logsrvd_conv_syslog(int num_msgs, const struct sudo_conv_message msgs[], int i; debug_decl(logsrvd_conv_syslog, SUDO_DEBUG_UTIL); + if (logsrvd_config == NULL) { + debug_return_int(logsrvd_conv_stderr(num_msgs, msgs, replies, callback)); + } + /* Also write to stderr if still in the foreground. */ if (logsrvd_is_early()) { (void)logsrvd_conv_stderr(num_msgs, msgs, replies, callback); @@ -1362,6 +1366,10 @@ logsrvd_conv_logfile(int num_msgs, const struct sudo_conv_message msgs[], int i; debug_decl(logsrvd_conv_logfile, SUDO_DEBUG_UTIL); + if (logsrvd_config == NULL) { + debug_return_int(logsrvd_conv_stderr(num_msgs, msgs, replies, callback)); + } + /* Also write to stderr if still in the foreground. */ if (logsrvd_is_early()) { (void)logsrvd_conv_stderr(num_msgs, msgs, replies, callback); diff --git a/logsrvd/regress/fuzz/fuzz_logsrvd_conf.c b/logsrvd/regress/fuzz/fuzz_logsrvd_conf.c index d61707889..bdaa99a60 100644 --- a/logsrvd/regress/fuzz/fuzz_logsrvd_conf.c +++ b/logsrvd/regress/fuzz/fuzz_logsrvd_conf.c @@ -41,6 +41,12 @@ #include "log_server.pb-c.h" #include "logsrvd.h" +bool +logsrvd_is_early(void) +{ + return true; +} + int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {