com php-src: Fix #72691: mb_ereg_search raises a warn ing if a match zero-width: NEWS ext/mbstring/php _mbregex.c ext/mbstring/tests/bug72691.phpt

From: Date: Thu, 28 Jul 2016 11:07:05 +0000
Subject: com php-src: Fix #72691: mb_ereg_search raises a warn ing if a match zero-width: NEWS ext/mbstring/php _mbregex.c ext/mbstring/tests/bug72691.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-93447@lists.php.net to get a copy of this message
Commit: d276e6a8386a68d57d5dd07c3d7e15de4b03c6b3 Author: Christoph M. Becker <cmb@php.net> Thu, 28 Jul 2016 13:07:05 +0200 Parents: 0ae8c337a340d16e1b9891d564a49bbf91ecfbd9 Branches: PHP-5.6 PHP-7.0 PHP-7.1 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=d276e6a8386a68d57d5dd07c3d7e15de4b03c6b3 Log: Fix #72691: mb_ereg_search raises a warning if a match zero-width That warning doesn't make sense (PCRE doesn't throw such a warning either), so we remove it. Bugs: https://bugs.php.net/72691 Changed paths: M NEWS M ext/mbstring/php_mbregex.c A ext/mbstring/tests/bug72691.phpt Diff: diff --git a/NEWS b/NEWS index 3ab22a8..962be02 100644 --- a/NEWS +++ b/NEWS @@ -40,6 +40,11 @@ PHP NEWS - Intl: . Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain names). (cmb) + +- mbstring: + . Fixed bug #72691 (mb_ereg_search raises a warning if a match zero-width). + (cmb) + - PCRE: .. Fixed bug #72688 (preg_match missing group names in matches). (cmb) diff --git a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c index 67951a8..3509165 100644 --- a/ext/mbstring/php_mbregex.c +++ b/ext/mbstring/php_mbregex.c @@ -1235,9 +1235,6 @@ _php_mb_regex_ereg_search_exec(INTERNAL_FUNCTION_PARAMETERS, int mode) php_error_docref(NULL TSRMLS_CC, 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 TSRMLS_CC, 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 0000000..d914a50 --- /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) "" +}

« previous php.cvs (#93447) next »