From: Tobias Brunner Date: Fri, 23 Dec 2011 15:36:59 +0000 (+0100) Subject: Avoid integer overflow when parsing ASN.1 dates. X-Git-Tag: 4.6.2~77 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f4095fdc8a22e44d2574d05f6059ed53471dee31;p=thirdparty%2Fstrongswan.git Avoid integer overflow when parsing ASN.1 dates. This only works properly if sizeof(time_t) > 4. --- diff --git a/src/libstrongswan/asn1/asn1.c b/src/libstrongswan/asn1/asn1.c index e74edde30c..6ce818f0d0 100644 --- a/src/libstrongswan/asn1/asn1.c +++ b/src/libstrongswan/asn1/asn1.c @@ -326,10 +326,10 @@ static const int tm_leap_1970 = 477; */ time_t asn1_to_time(const chunk_t *utctime, asn1_t type) { - int tm_year, tm_mon, tm_day, tm_days, tm_hour, tm_min, tm_sec; + int tm_year, tm_mon, tm_day, tm_hour, tm_min, tm_sec; int tm_leap_4, tm_leap_100, tm_leap_400, tm_leap; int tz_hour, tz_min, tz_offset; - time_t tm_secs; + time_t tm_days, tm_secs; u_char *eot = NULL; if ((eot = memchr(utctime->ptr, 'Z', utctime->len)) != NULL)