johannes Thu Jun 25 15:07:36 2009 UTC Added files: (Branch: PHP_5_3) /php-src/ext/date/tests bug48678.phpt
Modified files: /php-src/ext/date php_date.c Log: MFH: Fixed bug #48678 (DateInterval segfaults when unserialising (Ilia) http://cvs.php.net/viewvc.cgi/php-src/ext/date/php_date.c?r1=1.43.2.45.2.51.2.83&r2=1.43.2.45.2.51.2.84&diff_format=u Index: php-src/ext/date/php_date.c diff -u php-src/ext/date/php_date.c:1.43.2.45.2.51.2.83 php-src/ext/date/php_date.c:1.43.2.45.2.51.2.84 --- php-src/ext/date/php_date.c:1.43.2.45.2.51.2.83 Mon Jun 22 14:24:27 2009 +++ php-src/ext/date/php_date.c Thu Jun 25 15:07:36 2009 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_date.c,v 1.43.2.45.2.51.2.83 2009/06/22 14:24:27 iliaa Exp $ */ +/* $Id: php_date.c,v 1.43.2.45.2.51.2.84 2009/06/25 15:07:36 johannes Exp $ */ #include "php.h" #include "php_streams.h" @@ -2213,6 +2213,10 @@ props = intervalobj->std.properties; + if (!intervalobj->initialized) { + return props; + } + #define PHP_DATE_INTERVAL_ADD_PROPERTY(n,f) \ MAKE_STD_ZVAL(zv); \ ZVAL_LONG(zv, intervalobj->diff->f); \ http://cvs.php.net/viewvc.cgi/php-src/ext/date/tests/bug48678.phpt?view=markup&rev=1.1 Index: php-src/ext/date/tests/bug48678.phpt +++ php-src/ext/date/tests/bug48678.phpt --TEST-- Bug #48678 DateInterval segfaults when unserialising --FILE-- <?php $x = new dateinterval("P3Y6M4DT12H30M5S"); print_r($x); $y = unserialize(serialize($x)); print_r($y); --EXPECT-- DateInterval Object ( [y] => 3 [m] => 6 [d] => 4 [h] => 12 [i] => 30 [s] => 5 [invert] => 0 [days] => 0 ) DateInterval Object ( [y] => 3 [m] => 6 [d] => 4 [h] => 12 [i] => 30 [s] => 5 [invert] => 0 [days] => 0 ) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php