From babb498c6ebe09723a751127b104f43ab643ee91 Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Sat, 14 Aug 2021 09:24:39 -0600 Subject: [PATCH] new_logline: handle case where evlog is NULL --- lib/eventlog/eventlog.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/eventlog/eventlog.c b/lib/eventlog/eventlog.c index 255ef1bbf..7f55859b6 100644 --- a/lib/eventlog/eventlog.c +++ b/lib/eventlog/eventlog.c @@ -97,7 +97,7 @@ new_logline(int event_type, int flags, struct eventlog_args *args, { const struct eventlog_config *evl_conf = eventlog_getconf(); char *line = NULL, *evstr = NULL; - const char *iolog_file = evlog->iolog_file; + const char *iolog_file; const char *tty, *tsid = NULL; char exit_str[(((sizeof(int) * 8) + 2) / 3) + 2]; char sessid[7]; @@ -105,7 +105,7 @@ new_logline(int event_type, int flags, struct eventlog_args *args, int i; debug_decl(new_logline, SUDO_DEBUG_UTIL); - if (ISSET(flags, EVLOG_RAW)) { + if (ISSET(flags, EVLOG_RAW) || evlog == NULL) { if (args->reason != NULL) { if (args->errstr != NULL) { if (asprintf(&line, "%s: %s", args->reason, args->errstr) == -1) @@ -119,6 +119,7 @@ new_logline(int event_type, int flags, struct eventlog_args *args, } /* A TSID may be a sudoers-style session ID or a free-form string. */ + iolog_file = evlog->iolog_file; if (iolog_file != NULL) { if (IS_SESSID(iolog_file)) { sessid[0] = iolog_file[0]; -- 2.43.0