--- embedaddon/sudo/plugins/sudoers/getdate.y 2012/02/21 16:23:02 1.1 +++ embedaddon/sudo/plugins/sudoers/getdate.y 2013/07/22 10:46:12 1.1.1.2 @@ -586,9 +586,8 @@ Convert(Month, Day, Year, Hours, Minutes, Seconds, Mer } DaysInMonth[1] = Year % 4 == 0 && (Year % 100 != 0 || Year % 400 == 0) ? 29 : 28; - /* Checking for 2038 bogusly assumes that time_t is 32 bits. But - I'm too lazy to try to check for time_t overflow in another way. */ - if (Year < EPOCH || Year > 2038 + /* 32-bit time_t cannot represent years past 2038 */ + if (Year < EPOCH || (sizeof(time_t) == sizeof(int) && Year > 2038) || Month < 1 || Month > 12 /* Lint fluff: "conversion from long may lose accuracy" */ || Day < 1 || Day > DaysInMonth[(int)--Month])