summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/standard/tests/array/bug12776.phpt25
1 files changed, 25 insertions, 0 deletions
diff --git a/ext/standard/tests/array/bug12776.phpt b/ext/standard/tests/array/bug12776.phpt
new file mode 100644
index 0000000000..54c6f6fceb
--- /dev/null
+++ b/ext/standard/tests/array/bug12776.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Bug #12776 (array_walk crash)
+--FILE--
+<?php
+
+function test($val,$key)
+{
+ global $globalArray;
+ $globalArray[]=$key; // this will end up crashing
+ $globalArray[]=(string)$key; // this will end up OK
+ print "val: $val; key: $key\n"; flush();
+}
+
+$arr=array('k'=>'v');
+array_walk($arr,'test');
+
+print "First value: ".$globalArray[0];
+
+print "\nDone\n";
+
+?>
+--EXPECT--
+val: v; key: k
+First value: k
+Done