]> granicus.if.org Git - php/commitdiff
MF PHP5_3 (fixed #43841)
authorRui Hirokawa <hirokawa@php.net>
Sun, 17 Feb 2008 02:06:56 +0000 (02:06 +0000)
committerRui Hirokawa <hirokawa@php.net>
Sun, 17 Feb 2008 02:06:56 +0000 (02:06 +0000)
ext/mbstring/mbstring.c

index 7550fa691d921aa13ea29d910a6c1f28244eb5d1..f60ae28bd7a480ca6fae8eb9253a6de6e446c46a 100644 (file)
@@ -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);