From: Rui Hirokawa Date: Sun, 17 Feb 2008 02:06:56 +0000 (+0000) Subject: MF PHP5_3 (fixed #43841) X-Git-Tag: php-5.2.6RC1~56 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=65ef397b3c3d13af159bc2bd2b808c15b5e69146;p=php MF PHP5_3 (fixed #43841) --- diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 7550fa691d..f60ae28bd7 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -1726,6 +1726,13 @@ PHP_FUNCTION(mb_strrpos) if (needle.len <= 0) { RETURN_FALSE; } + + if ((offset > 0 && offset > mbfl_strlen(&haystack)) || + (offset < 0 && -offset > mbfl_strlen(&haystack))) { + php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Offset is greater than the length of haystack string"); + RETURN_FALSE; + } + n = mbfl_strpos(&haystack, &needle, offset, 1); if (n >= 0) { RETVAL_LONG(n);