diff options
Diffstat (limited to 'ext/standard/tests/array/bug50006_2.phpt')
| -rw-r--r-- | ext/standard/tests/array/bug50006_2.phpt | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/ext/standard/tests/array/bug50006_2.phpt b/ext/standard/tests/array/bug50006_2.phpt new file mode 100644 index 0000000..19c0d14 --- /dev/null +++ b/ext/standard/tests/array/bug50006_2.phpt @@ -0,0 +1,29 @@ +--TEST-- +Bug #50006 (Segfault caused by uksort()) - uasort variant +--FILE-- +<?php + +$data = array( + 'bar-bazbazbaz.', + 'bar-bazbazbaz-', + 'foo' +); +uasort($data, 'magic_sort_cmp'); +print_r($data); + +function magic_sort_cmp($a, $b) { + $a = substr($a, 1); + $b = substr($b, 1); + if (!$a) return $b ? -1 : 0; + if (!$b) return 1; + return magic_sort_cmp($a, $b); +} + +?> +--EXPECTF-- +Array +( + [2] => foo + [1] => bar-bazbazbaz- + [0] => bar-bazbazbaz. +) |
