- Fixed a NULL pointer dereference when processing invalid XML-RPC
requests (Fixes CVE-2010-0397, bug #51288). (Raphael Geissert)
+- Fixed bug #51445 (var_dump() invalid/slow *RECURSION* detection). (Felipe)
- Fixed bug #51393 (DateTime::createFromFormat() fails if format string contains
timezone). (Adam)
- Fixed bug #51338 (URL-Rewriter is still enabled if use_only_cookies is
$a->x0->y1 = "ok\n";
echo $a->x0;
?>
---EXPECT--
-object(stdClass)#1 (1) {
+--EXPECTF--
+object(stdClass)#%d (1) {
["x0"]=>
- &object(stdClass)#2 (3) {
+ &object(stdClass)#%d (3) {
["y0"]=>
string(1) "b"
["y1"]=>
- &object(stdClass)#2 (3) {
- ["y0"]=>
- string(1) "b"
- ["y1"]=>
- *RECURSION*
- ["y2"]=>
- *RECURSION*
- }
+ *RECURSION*
["y2"]=>
- &object(stdClass)#2 (3) {
- ["y0"]=>
- string(1) "b"
- ["y1"]=>
- *RECURSION*
- ["y2"]=>
- *RECURSION*
- }
+ *RECURSION*
}
}
ok
break;
case IS_ARRAY:
myht = Z_ARRVAL_PP(struc);
- if (myht->nApplyCount > 1) {
+ if (++myht->nApplyCount > 1) {
PUTS("*RECURSION*\n");
+ --myht->nApplyCount;
return;
}
php_printf("%sarray(%d) {\n", COMMON, zend_hash_num_elements(myht));
goto head_done;
case IS_OBJECT:
myht = Z_OBJPROP_PP(struc);
- if (myht && myht->nApplyCount > 1) {
+ if (myht && ++myht->nApplyCount > 1) {
PUTS("*RECURSION*\n");
+ --myht->nApplyCount;
return;
}
head_done:
if (myht) {
zend_hash_apply_with_arguments(myht, (apply_func_args_t) php_element_dump_func, 1, level);
+ --myht->nApplyCount;
}
if (level > 1) {
php_printf("%*c", level-1, ' ');