summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/bug22463.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/array/bug22463.phpt')
-rw-r--r--ext/standard/tests/array/bug22463.phpt29
1 files changed, 29 insertions, 0 deletions
diff --git a/ext/standard/tests/array/bug22463.phpt b/ext/standard/tests/array/bug22463.phpt
new file mode 100644
index 0000000000..dcede511bb
--- /dev/null
+++ b/ext/standard/tests/array/bug22463.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Bug #22463 (array_reduce() segfaults)
+--FILE--
+<?php
+
+function a($ary) {
+ return (is_array($ary) ? array_reduce($ary, 'cb', 0) : 1);
+}
+
+function cb($v, $elem) {
+ return $v + a($elem);
+}
+
+$ary = array(
+ array(
+ array(
+ array(
+ array(
+ array(0, 1, 2, 3, 4)
+ )
+ )
+ )
+ )
+);
+
+var_dump(a($ary));
+?>
+--EXPECT--
+int(5)