diff options
author | Christoph M. Becker <cmb@php.net> | 2016-07-28 13:09:09 +0200 |
---|---|---|
committer | Christoph M. Becker <cmb@php.net> | 2016-07-28 13:12:40 +0200 |
commit | 18a37eeeece3c8ff88a5c9fff0bc3871cbe37c17 (patch) | |
tree | c87352380cdb604d10fd6fafd7140c4589206555 /ext | |
parent | c7a4e37d9771ec212ad58fa344b380cbe6aa92a1 (diff) | |
parent | d276e6a8386a68d57d5dd07c3d7e15de4b03c6b3 (diff) | |
download | php-git-18a37eeeece3c8ff88a5c9fff0bc3871cbe37c17.tar.gz |
Merge branch 'PHP-5.6' into PHP-7.0
# Resolved conflicts:
# ext/mbstring/php_mbregex.c
Diffstat (limited to 'ext')
-rw-r--r-- | ext/mbstring/php_mbregex.c | 3 | ||||
-rw-r--r-- | ext/mbstring/tests/bug72691.phpt | 48 |
2 files changed, 48 insertions, 3 deletions
diff --git a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c index 573a5e9b9c..95932e31ae 100644 --- a/ext/mbstring/php_mbregex.c +++ b/ext/mbstring/php_mbregex.c @@ -1246,9 +1246,6 @@ _php_mb_regex_ereg_search_exec(INTERNAL_FUNCTION_PARAMETERS, int mode) php_error_docref(NULL, E_WARNING, "mbregex search failure in mbregex_search(): %s", err_str); RETVAL_FALSE; } else { - if (MBREX(search_regs)->beg[0] == MBREX(search_regs)->end[0]) { - php_error_docref(NULL, E_WARNING, "Empty regular expression"); - } switch (mode) { case 1: array_init(return_value); diff --git a/ext/mbstring/tests/bug72691.phpt b/ext/mbstring/tests/bug72691.phpt new file mode 100644 index 0000000000..d914a508e0 --- /dev/null +++ b/ext/mbstring/tests/bug72691.phpt @@ -0,0 +1,48 @@ +--TEST-- +Bug #72691 (mb_ereg_search raises a warning if a match zero-width) +--SKIPIF-- +<?php +if (!extension_loaded('mbstring')) die('skip ext/mbstring required'); +?> +--FILE-- +<?php +$str = 'foo'; +mb_ereg_search_init($str); + +mb_ereg_search('\A'); +var_dump(mb_ereg_search_getpos()); +var_dump(mb_ereg_search_getregs()); + +mb_ereg_search('\s*'); +var_dump(mb_ereg_search_getpos()); +var_dump(mb_ereg_search_getregs()); + +mb_ereg_search('\w+'); +var_dump(mb_ereg_search_getpos()); +var_dump(mb_ereg_search_getregs()); + +mb_ereg_search('\Z'); +var_dump(mb_ereg_search_getpos()); +var_dump(mb_ereg_search_getregs()); +?> +--EXPECT-- +int(1) +array(1) { + [0]=> + string(0) "" +} +int(2) +array(1) { + [0]=> + string(0) "" +} +int(3) +array(1) { + [0]=> + string(1) "o" +} +int(4) +array(1) { + [0]=> + string(0) "" +} |