From d311c7b2eec20ea82fa0ab27f66624e9039848c7 Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Sun, 13 Jun 2021 18:42:09 -0600 Subject: [PATCH] If logsrvd_config not set fall back to using stderr for warnings. Also fix fuzz_logsrvd_conf link error. --- logsrvd/logsrvd_conf.c | 8 ++++++++ logsrvd/regress/fuzz/fuzz_logsrvd_conf.c | 6 ++++++ 2 files changed, 14 insertions(+) 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) {