summaryrefslogtreecommitdiff
path: root/ext/wddx/tests/bug48562.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/wddx/tests/bug48562.phpt')
-rw-r--r--ext/wddx/tests/bug48562.phpt22
1 files changed, 22 insertions, 0 deletions
diff --git a/ext/wddx/tests/bug48562.phpt b/ext/wddx/tests/bug48562.phpt
new file mode 100644
index 000000000..d9ae376c5
--- /dev/null
+++ b/ext/wddx/tests/bug48562.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Bug #48562 (Reference recursion causes segfault when used in wddx_serialize_vars())
+--FILE--
+<?php
+
+$foo = 'bar';
+
+$a['x'] = 'foo';
+$a['x'] = &$a;
+
+var_dump(wddx_serialize_vars($a));
+
+$a['x'] = 'foo';
+$a['x'] = $a;
+
+var_dump(wddx_serialize_vars($a));
+
+?>
+--EXPECTF--
+Warning: wddx_serialize_vars(): recursion detected in %s on line %d
+string(78) "<wddxPacket version='1.0'><header/><data><struct></struct></data></wddxPacket>"
+string(120) "<wddxPacket version='1.0'><header/><data><struct><var name='foo'><string>bar</string></var></struct></data></wddxPacket>"