summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2014-12-16 03:19:23 +0000
committerjsg <jsg@openbsd.org>2014-12-16 03:19:23 +0000
commit40f07bdcf47daace717819c51e706e5a063bacf2 (patch)
treeaff1b189d0ed2dc4830c8c0530d7eff1987c32c0
parentWhen a numerical condition errors out after consuming at least one (diff)
downloadwireguard-openbsd-40f07bdcf47daace717819c51e706e5a063bacf2.tar.xz
wireguard-openbsd-40f07bdcf47daace717819c51e706e5a063bacf2.zip
Don't display formatted time if localtime() fails.
Avoids a crash in strftime() found with the afl fuzzer. ok guenther@
-rw-r--r--usr.bin/kdump/ktrstruct.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/usr.bin/kdump/ktrstruct.c b/usr.bin/kdump/ktrstruct.c
index 03910666477..b218ee2027e 100644
--- a/usr.bin/kdump/ktrstruct.c
+++ b/usr.bin/kdump/ktrstruct.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ktrstruct.c,v 1.8 2014/12/15 01:48:54 guenther Exp $ */
+/* $OpenBSD: ktrstruct.c,v 1.9 2014/12/16 03:19:23 jsg Exp $ */
/*-
* Copyright (c) 1988, 1993
@@ -146,8 +146,11 @@ print_time(time_t t, int relative, int have_subsec)
if (!relative) {
tm = localtime(&t);
- (void)strftime(timestr, sizeof(timestr), TIME_FORMAT, tm);
- printf("<\"%s\">", timestr);
+ if (tm != NULL) {
+ (void)strftime(timestr, sizeof(timestr), TIME_FORMAT,
+ tm);
+ printf("<\"%s\">", timestr);
+ }
}
}