1 --- PHP_5_3/ext/calendar/julian.c 2010/12/19 23:46:27 306474
2 +++ PHP_5_3/ext/calendar/julian.c 2010/12/19 23:47:00 306475
4 **************************************************************************/
9 #define JULIAN_SDN_OFFSET 32083
10 #define DAYS_PER_5_MONTHS 153
21 - temp = (sdn + JULIAN_SDN_OFFSET) * 4 - 1;
22 + /* Check for overflow */
23 + if (sdn > (LONG_MAX - JULIAN_SDN_OFFSET * 4 + 1) / 4 || sdn < LONG_MIN / 4) {
26 + temp = sdn * 4 + (JULIAN_SDN_OFFSET * 4 - 1);
28 /* Calculate the year and day of year (1 <= dayOfYear <= 366). */
29 - year = temp / DAYS_PER_4_YEARS;
31 + long yearl = temp / DAYS_PER_4_YEARS;
32 + if (yearl > INT_MAX || yearl < INT_MIN) {
37 dayOfYear = (temp % DAYS_PER_4_YEARS) / 4 + 1;
39 /* Calculate the month and day of month. */