diff options
Diffstat (limited to 'ext/pcre/tests/bug21732.phpt')
| -rw-r--r-- | ext/pcre/tests/bug21732.phpt | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/ext/pcre/tests/bug21732.phpt b/ext/pcre/tests/bug21732.phpt new file mode 100644 index 0000000..3dfc41e --- /dev/null +++ b/ext/pcre/tests/bug21732.phpt @@ -0,0 +1,29 @@ +--TEST-- +Bug #21732 (preg_replace() segfaults with invalid parameters) +--INI-- +error_reporting=0 +--FILE-- +<?php +class foo { + function cb($param) { + var_dump($param); + return "yes!"; + } +} + +var_dump(preg_replace('', array(), '')); +var_dump(preg_replace_callback("/(ab)(cd)(e)/", array(new foo(), "cb"), 'abcde')); +?> +--EXPECT-- +bool(false) +array(4) { + [0]=> + string(5) "abcde" + [1]=> + string(2) "ab" + [2]=> + string(2) "cd" + [3]=> + string(1) "e" +} +string(4) "yes!" |
