From 989f5ffb242faa185340268f2abb4892ffe1f6a5 Mon Sep 17 00:00:00 2001 From: toddouska Date: Fri, 11 Sep 2015 15:49:55 -0700 Subject: [PATCH] handle gmtime failures --- wolfcrypt/src/asn.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index a889dc956..b7e7031c4 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -2585,6 +2585,11 @@ int ValidateDate(const byte* date, byte format, int dateType) localTime = XGMTIME(<ime, tmpTime); + if (localTime == NULL) { + WOLFSSL_MSG("XGMTIME failed"); + return 0; + } + if (dateType == BEFORE) { if (DateLessThan(localTime, &certTime)) return 0; @@ -5634,7 +5639,8 @@ static void RebuildTime(time_t* in, struct tm* out) } -/* Set Date validity from now until now + daysValid */ +/* Set Date validity from now until now + daysValid + * return size in bytes written to output, 0 on error */ static int SetValidity(byte* output, int daysValid) { byte before[MAX_DATE_SIZE]; @@ -5661,6 +5667,11 @@ static int SetValidity(byte* output, int daysValid) ticks = XTIME(0); now = XGMTIME(&ticks, tmpTime); + if (now == NULL) { + WOLFSSL_MSG("XGMTIME failed"); + return 0; /* error */ + } + /* before now */ local = *now; before[0] = ASN_GENERALIZED_TIME;