diff -ruN ../at-3.1.8.orig/parsetime.y ./parsetime.y --- ../at-3.1.8.orig/parsetime.y Mon Jan 14 17:59:09 2002 +++ ./parsetime.y Mon Jan 14 18:01:22 2002 @@ -193,7 +193,6 @@ exectm.tm_year -= 1900; } - free ($1); } else { sscanf($1, "%d", &exectm.tm_hour); @@ -369,6 +368,8 @@ time_only = 0; if (yyparse() == 0) { exectime = mktime(&exectm); + if (exectime == (time_t)-1) + return 0; if (isgmt) { exectime += timezone; if (daylight) { @@ -432,6 +433,8 @@ { time_t timeval; timeval = mktime(tm); + if (timeval == (time_t)-1) + timeval = (time_t)0; timeval += numsec; *tm = *localtime(&timeval); }