summaryrefslogtreecommitdiff
path: root/krl.c
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2014-11-21 01:00:38 +0000
committerDamien Miller <djm@mindrot.org>2014-11-24 10:15:47 +1100
commitb6de5ac9ed421362f479d1ad4fa433d2e25dad5b (patch)
treebd41e4ea1d4dc7170c0f1ce6035829a1aa9b03a5 /krl.c
parenta1f8110cd5ed818d59b3a2964fab7de76e92c18e (diff)
upstream commit
fix NULL pointer dereference crash on invalid timestamp found using Michal Zalewski's afl fuzzer
Diffstat (limited to 'krl.c')
-rw-r--r--krl.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/krl.c b/krl.c
index 832ac8b0a..e56f884f6 100644
--- a/krl.c
+++ b/krl.c
@@ -14,7 +14,7 @@
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */ 15 */
16 16
17/* $OpenBSD: krl.c,v 1.18 2014/11/17 00:21:40 djm Exp $ */ 17/* $OpenBSD: krl.c,v 1.19 2014/11/21 01:00:38 djm Exp $ */
18 18
19#include "includes.h" 19#include "includes.h"
20 20
@@ -747,8 +747,12 @@ format_timestamp(u_int64_t timestamp, char *ts, size_t nts)
747 747
748 t = timestamp; 748 t = timestamp;
749 tm = localtime(&t); 749 tm = localtime(&t);
750 *ts = '\0'; 750 if (tm == NULL)
751 strftime(ts, nts, "%Y%m%dT%H%M%S", tm); 751 strlcpy(ts, "<INVALID>", sizeof(nts));
752 else {
753 *ts = '\0';
754 strftime(ts, nts, "%Y%m%dT%H%M%S", tm);
755 }
752} 756}
753 757
754static int 758static int