From 595c20ddf4e21d6f2251a037dea9b8ba5c13ee77 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Fri, 30 Sep 2016 14:06:32 +0200 Subject: [PATCH] der: fix asan/valgrind errors in time parsing --- src/util-decode-der-get.c | 4 ++-- src/util-time.c | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/util-decode-der-get.c b/src/util-decode-der-get.c index 747bf4b422..fc132cf45e 100644 --- a/src/util-decode-der-get.c +++ b/src/util-decode-der-get.c @@ -85,7 +85,7 @@ static time_t GentimeToTime(char *gentime) if (strlen(gentime) != 15) goto error; - tm.tm_gmtoff = 0; + memset(&tm, 0, sizeof(tm)); strptime(gentime, "%Y%m%d%H%M%SZ", &tm); time = SCMkTimeUtc(&tm); @@ -102,7 +102,7 @@ static time_t UtctimeToTime(char *utctime) { time_t time; unsigned int year; - char yy[2]; + char yy[3]; char buf[20]; /* UTCTime values MUST be expressed in Greenwich Mean Time (Zulu) diff --git a/src/util-time.c b/src/util-time.c index 6670a0157a..b1726e81c5 100644 --- a/src/util-time.c +++ b/src/util-time.c @@ -180,6 +180,7 @@ void CreateIsoTimeString (const struct timeval *ts, char *str, size_t size) { time_t time = ts->tv_sec; struct tm local_tm; + memset(&local_tm, 0, sizeof(local_tm)); struct tm *t = (struct tm*)SCLocalTime(time, &local_tm); char time_fmt[64] = { 0 }; @@ -195,6 +196,7 @@ void CreateUtcIsoTimeString (const struct timeval *ts, char *str, size_t size) { time_t time = ts->tv_sec; struct tm local_tm; + memset(&local_tm, 0, sizeof(local_tm)); struct tm *t = (struct tm*)SCUtcTime(time, &local_tm); char time_fmt[64] = { 0 };