We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent a83e43e commit c6df43dCopy full SHA for c6df43d
ext/standard/tests/gh20840.phpt
@@ -0,0 +1,36 @@
1
+--TEST--
2
+GH-20840 (var_dump() crash with nested objects)
3
+--CREDITS--
4
+bendrissou
5
+--INI--
6
+memory_limit=-1
7
+--FILE--
8
+<?php
9
+class Node {
10
+ public $next;
11
+}
12
+
13
+$firstNode = new Node();
14
+$node = $firstNode;
15
16
+for ($i = 0; $i < 5000; $i++) {
17
+ $newNode = new Node();
18
+ $node->next = $newNode;
19
+ $node = $newNode;
20
21
22
+try {
23
+ var_dump($firstNode);
24
+} catch (Error $e) {
25
+ echo $e->getMessage(), "\n";
26
27
28
+while ($next = $firstNode->next) {
29
+ $firstNode->next = $next->next;
30
31
+?>
32
+--EXPECTF--
33
+object(Node)#1 (1) {
34
+%a
35
36
+Maximum call stack size of %d bytes (zend.max_allowed_stack_size - zend.reserved_stack_size) reached. Infinite recursion?
0 commit comments