From: Andrea Shepard Date: Wed, 19 Mar 2014 18:22:11 +0000 (-0700) Subject: Check strftime() return in tortls.c X-Git-Tag: tor-0.2.5.4-alpha~86^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dea81901114f2bc67cdc9d9072fbfe1b6797920e;p=thirdparty%2Ftor.git Check strftime() return in tortls.c --- diff --git a/src/common/tortls.c b/src/common/tortls.c index 315a767e9e..50ae8afb1e 100644 --- a/src/common/tortls.c +++ b/src/common/tortls.c @@ -2311,6 +2311,7 @@ log_cert_lifetime(int severity, const X509 *cert, const char *problem) char mytime[33]; time_t now = time(NULL); struct tm tm; + size_t n; if (problem) tor_log(severity, LD_GENERAL, @@ -2336,11 +2337,17 @@ log_cert_lifetime(int severity, const X509 *cert, const char *problem) BIO_get_mem_ptr(bio, &buf); s2 = tor_strndup(buf->data, buf->length); - strftime(mytime, 32, "%b %d %H:%M:%S %Y UTC", tor_gmtime_r(&now, &tm)); - - tor_log(severity, LD_GENERAL, - "(certificate lifetime runs from %s through %s. Your time is %s.)", - s1,s2,mytime); + n = strftime(mytime, 32, "%b %d %H:%M:%S %Y UTC", tor_gmtime_r(&now, &tm)); + if (n > 0) { + tor_log(severity, LD_GENERAL, + "(certificate lifetime runs from %s through %s. Your time is %s.)", + s1,s2,mytime); + } else { + tor_log(severity, LD_GENERAL, + "(certificate lifetime runs from %s through %s. " + "Couldn't get your time.)", + s1, s2); + } end: /* Not expected to get invoked */