Browse Source

Merge branch 'PHP-5.6' into PHP-7.0

# Resolved conflicts:
#	ext/mbstring/php_mbregex.c
pull/2043/head
Christoph M. Becker 10 years ago
parent
commit
805dc0ea47
  1. 4
      NEWS
  2. 2
      ext/mbstring/php_mbregex.c
  3. 21
      ext/mbstring/tests/bug72694.phpt

4
NEWS

@ -61,8 +61,10 @@ PHP NEWS
- mbstring:
. Fixed bug #72691 (mb_ereg_search raises a warning if a match zero-width).
(cmb)
. Fixed Bug #72693 (mb_ereg_search increments search position when a match
. Fixed bug #72693 (mb_ereg_search increments search position when a match
zero-width). (cmb)
. Fixed bug #72694 (mb_ereg_search_setpos does not accept a string's last
position). (cmb)
- Opcache:
. Fixed bug #72590 (Opcache restart with kill_all_lockers does not work).

2
ext/mbstring/php_mbregex.c

@ -1408,7 +1408,7 @@ PHP_FUNCTION(mb_ereg_search_setpos)
return;
}
if (position < 0 || (!Z_ISUNDEF(MBREX(search_str)) && Z_TYPE(MBREX(search_str)) == IS_STRING && (size_t)position >= Z_STRLEN(MBREX(search_str)))) {
if (position < 0 || (!Z_ISUNDEF(MBREX(search_str)) && Z_TYPE(MBREX(search_str)) == IS_STRING && (size_t)position > Z_STRLEN(MBREX(search_str)))) {
php_error_docref(NULL, E_WARNING, "Position is out of range");
MBREX(search_pos) = 0;
RETURN_FALSE;

21
ext/mbstring/tests/bug72694.phpt

@ -0,0 +1,21 @@
--TEST--
Bug #72694 (mb_ereg_search_setpos does not accept a string's last position)
--SKIPIF--
<?php
if (!extension_loaded('mbstring')) die('skip ext/mbstring required');
?>
--FILE--
<?php
mb_ereg_search_init('foo');
var_dump(mb_ereg_search_setpos(3));
var_dump(mb_ereg_search_getpos());
var_dump(mb_ereg_search('\Z'));
var_dump(mb_ereg_search_getpos());
?>
--EXPECT--
bool(true)
int(3)
bool(true)
int(3)
Loading…
Cancel
Save