date.c: fix unsigned time_t comparison
tm_to_time_t() returns (time_t)-1 when it sees an error. On platforms with unsigned time_t, this value will be larger than any valid timestamp and will break the "Is this older than 10 days in the future?" check. Signed-off-by: Mike Gorchak <mike.gorchak.qnx@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Mike Gorchak committed
Feb 25, 2013 at 23:51 UTC
e6e87516f569c2344f760287aec66f70da856c6d
1 file changed
+1
-1
date.c
+1
-1
@@ -383,7 +383,7 @@ static int is_date(int year, int month, int day, struct tm *now_tm, time_t now,
383
* sense to specify timestamp way into the future. Make
384
* sure it is not later than ten days from now...
385
*/
386
- if (now + 10*24*3600 < specified)
386
+ if ((specified != -1) && (now + 10*24*3600 < specified))
387
return 0;
388
tm->tm_mon = r->tm_mon;
389
tm->tm_mday = r->tm_mday;