summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/unexpected_array_mod_bug.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/array/unexpected_array_mod_bug.phpt')
-rw-r--r--ext/standard/tests/array/unexpected_array_mod_bug.phpt21
1 files changed, 21 insertions, 0 deletions
diff --git a/ext/standard/tests/array/unexpected_array_mod_bug.phpt b/ext/standard/tests/array/unexpected_array_mod_bug.phpt
new file mode 100644
index 0000000..58f2249
--- /dev/null
+++ b/ext/standard/tests/array/unexpected_array_mod_bug.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Crash when function parameter modified via reference
+--FILE--
+<?php
+function usercompare($a,$b) {
+ unset($GLOBALS['my_var'][2]);
+ return 0;
+}
+$my_var = array(1 => "entry_1",
+2 => "entry_2",
+3 => "entry_3",
+4 => "entry_4",
+5 => "entry_5");
+usort($my_var, "usercompare");
+
+echo "Done.\n";
+?>
+--EXPECTF--
+
+Warning: usort(): Array was modified by the user comparison function in %s on line %d
+Done.