From fd76e380ea117000d9d350405e2cfbd070c5c01a Mon Sep 17 00:00:00 2001 From: Steve Grubb Date: Sat, 21 Aug 2021 10:18:30 -0400 Subject: [PATCH 2213/2246] Check ctime return code --- tools/aulast/aulast.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/tools/aulast/aulast.c b/tools/aulast/aulast.c index c513aac..8a25f3b 100644 --- a/tools/aulast/aulast.c +++ b/tools/aulast/aulast.c @@ -96,8 +96,11 @@ static void report_session(lnode* cur) int mins, hours, days; if (notime) printf("- %-7.5s", " "); - else - printf("- %-7.5s", ctime(&cur->end) + 11); + else { + char *ttime = ctime(&cur->end); + printf("- %-7.5s", ttime ? ttime + 11 : + "bad value"); + } secs = cur->end - cur->start; mins = (secs / 60) % 60; hours = (secs / 3600) % 24; @@ -128,10 +131,13 @@ static void report_session(lnode* cur) strftime(start, sizeof(start), "%x %T", btm); if (cur->end != 0) { btm = localtime(&cur->end); - strftime(end, sizeof(end), "%x %T", btm); - printf(" ausearch --start %s --end %s", - start, end); + if (btm) { + strftime(end, sizeof(end), "%x %T", btm); + printf(" ausearch --start %s --end %s", + start, end); + } else goto no_end; } else { +no_end: printf(" ausearch --start %s", start); } if (cur->name == NULL) -- 1.8.3.1