From: Gregor Schneider Date: Wed, 5 Aug 2009 02:06:25 +0000 (+0000) Subject: asctime/ctime: Check for too low input time, fixes one msvcrt time winetest X-Git-Tag: ReactOS-0.3.11~1408 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=282b5c28f569a8ad32067e0355614809f8e88b7d asctime/ctime: Check for too low input time, fixes one msvcrt time winetest svn path=/trunk/; revision=42402 --- diff --git a/reactos/lib/sdk/crt/time/ctime.c b/reactos/lib/sdk/crt/time/ctime.c index fd7eda2478e..49b89a5e9ba 100644 --- a/reactos/lib/sdk/crt/time/ctime.c +++ b/reactos/lib/sdk/crt/time/ctime.c @@ -1200,14 +1200,23 @@ asctime(const struct tm *timeptr) "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; static char result[26]; + char* res = result; - (void) sprintf(result, "%.3s %.3s%3d %02d:%02d:%02d %d\n", - wday_name[timeptr->tm_wday], - mon_name[timeptr->tm_mon], - timeptr->tm_mday, timeptr->tm_hour, - timeptr->tm_min, timeptr->tm_sec, - TM_YEAR_BASE + timeptr->tm_year); - return result; + /* Check for invalid input time */ + if (timeptr->tm_year <= 69) + { + res = NULL; + } + else + { + sprintf(res, "%.3s %.3s%3d %02d:%02d:%02d %d\n", + wday_name[timeptr->tm_wday], + mon_name[timeptr->tm_mon], + timeptr->tm_mday, timeptr->tm_hour, + timeptr->tm_min, timeptr->tm_sec, + TM_YEAR_BASE + timeptr->tm_year); + } + return res; } /*