cvs: php-src(PHP_5_2) /ext/calendar gregor.c /ext/calendar/tests jdtomonthname.phpt

From: Date: Tue, 11 Jul 2006 14:16:26 +0000
Subject: cvs: php-src(PHP_5_2) /ext/calendar gregor.c /ext/calendar/tests jdtomonthname.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-39198@lists.php.net to get a copy of this message
tony2001 Tue Jul 11 14:16:26 2006 UTC Added files: (Branch: PHP_5_2) /php-src/ext/calendar/tests jdtomonthname.phpt Modified files: /php-src/ext/calendar gregor.c Log: fix segfault in jdmonthname(), add test http://cvs.php.net/viewvc.cgi/php-src/ext/calendar/gregor.c?r1=1.2&r2=1.2.26.1&diff_format=u Index: php-src/ext/calendar/gregor.c diff -u php-src/ext/calendar/gregor.c:1.2 php-src/ext/calendar/gregor.c:1.2.26.1 --- php-src/ext/calendar/gregor.c:1.2 Sat Feb 2 19:27:33 2002 +++ php-src/ext/calendar/gregor.c Tue Jul 11 14:16:26 2006 @@ -154,6 +154,13 @@ } temp = (sdn + GREGOR_SDN_OFFSET) * 4 - 1; + if (temp < 0) { + *pYear = 0; + *pMonth = 0; + *pDay = 0; + return; + } + /* Calculate the century (year/100). */ century = temp / DAYS_PER_400_YEARS; http://cvs.php.net/viewvc.cgi/php-src/ext/calendar/tests/jdtomonthname.phpt?view=markup&rev=1.1 Index: php-src/ext/calendar/tests/jdtomonthname.phpt +++ php-src/ext/calendar/tests/jdtomonthname.phpt --TEST-- jdtomonthname() test --SKIPIF-- <?php if (!extension_loaded("calendar")) print "skip"; ?> --FILE-- <?php $jd_days = Array( 2453396, 2440588, -1, array(), 1000000000 ); foreach ($jd_days as $jd_day) { var_dump(jdmonthname($jd_day,0)); var_dump(jdmonthname($jd_day,1)); var_dump(jdmonthname($jd_day,2)); var_dump(jdmonthname($jd_day,3)); var_dump(jdmonthname($jd_day,4)); var_dump(jdmonthname($jd_day,5)); } echo "Done\n"; ?> --EXPECTF-- string(3) "Jan" string(7) "January" string(3) "Jan" string(7) "January" string(6) "Shevat" string(0) "" string(3) "Jan" string(7) "January" string(3) "Dec" string(8) "December" string(5) "Tevet" string(0) "" string(0) "" string(0) "" string(0) "" string(0) "" string(0) "" string(0) "" Warning: jdmonthname() expects parameter 1 to be long, array given in %s on line %d bool(false) Warning: jdmonthname() expects parameter 1 to be long, array given in %s on line %d bool(false) Warning: jdmonthname() expects parameter 1 to be long, array given in %s on line %d bool(false) Warning: jdmonthname() expects parameter 1 to be long, array given in %s on line %d bool(false) Warning: jdmonthname() expects parameter 1 to be long, array given in %s on line %d bool(false) Warning: jdmonthname() expects parameter 1 to be long, array given in %s on line %d bool(false) string(0) "" string(0) "" string(0) "" string(0) "" string(6) "AdarII" string(0) "" Done

« previous php.cvs (#39198) next »