From 417f85da8640f09c36f4b0cdeb44fa29130dbda5 Mon Sep 17 00:00:00 2001 From: toddouska Date: Mon, 9 Nov 2015 14:48:39 -0800 Subject: [PATCH] use gmtime_r if there --- configure.ac | 1 + wolfcrypt/src/asn.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index dca8dc4ac..6c5e5e93e 100644 --- a/configure.ac +++ b/configure.ac @@ -70,6 +70,7 @@ m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) AC_CHECK_FUNCS([gethostbyname]) AC_CHECK_FUNCS([getaddrinfo]) AC_CHECK_FUNCS([gettimeofday]) +AC_CHECK_FUNCS([gmtime_r]) AC_CHECK_FUNCS([inet_ntoa]) AC_CHECK_FUNCS([memset]) AC_CHECK_FUNCS([socket]) diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index 4dcd65b79..88073abd2 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -200,7 +200,12 @@ /* uses complete facility */ #include #define XTIME(tl) time((tl)) - #define XGMTIME(c, t) gmtime((c)) + #ifdef HAVE_GMTIME_R + #define XGMTIME(c, t) gmtime_r((c), (t)) + #define NEED_TMP_TIME + #else + #define XGMTIME(c, t) gmtime((c)) + #endif #define XVALIDATE_DATE(d, f, t) ValidateDate((d), (f), (t)) #endif @@ -2558,7 +2563,7 @@ int ValidateDate(const byte* date, byte format, int dateType) int diffHH = 0 ; int diffMM = 0 ; int diffSign = 0 ; -#if defined(FREESCALE_MQX) || defined(TIME_OVERRIDES) +#if defined(FREESCALE_MQX) || defined(TIME_OVERRIDES) || defined(NEED_TMP_TIME) struct tm tmpTimeStorage; tmpTime = &tmpTimeStorage; #else @@ -5754,7 +5759,7 @@ static int SetValidity(byte* output, int daysValid) struct tm* tmpTime = NULL; struct tm local; -#if defined(FREESCALE_MQX) || defined(TIME_OVERRIDES) +#if defined(FREESCALE_MQX) || defined(TIME_OVERRIDES) || defined(NEED_TMP_TIME) /* for use with gmtime_r */ struct tm tmpTimeStorage; tmpTime = &tmpTimeStorage;