Index: src/parsdate.y
--- src/parsdate.y.orig
+++ src/parsdate.y
@@ -523,6 +523,7 @@ Convert(
     static const int	DaysLeap[13] = {
 	0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
     };
+/* XXX 2038 */
     static const int	LeapYears[] = {
 	1972, 1976, 1980, 1984, 1988, 1992, 1996,
 	2000, 2004, 2008, 2012, 2016, 2020, 2024,
@@ -550,7 +551,9 @@ Convert(
 	    mp = DaysLeap;
 	    break;
 	}
-    if (Year < EPOCH || Year > END_OF_TIME
+    /* XXX Sloppily check for 2038 if time_t is 32 bits */
+    if (Year < EPOCH
+     || (sizeof(time_t) == sizeof(int) && Year > 2038)
      || Month < 1 || Month > 12
      /* NOSTRICT */ /* conversion from long may lose accuracy */
      || Day < 1 || Day > mp[Month])
