From 2041566a124b09a1912142fc246764cd1504db99 Mon Sep 17 00:00:00 2001 From: Antony Dovgal Date: Wed, 6 Jun 2007 21:53:54 +0000 Subject: MFH --- ext/standard/string.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'ext/standard/string.c') diff --git a/ext/standard/string.c b/ext/standard/string.c index d22e85924d..acf6a8d526 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -1860,12 +1860,11 @@ PHP_FUNCTION(strripos) e = haystack + haystack_len - 1; } else { p = haystack; - if (-offset > haystack_len || -offset < 0) { + if (-offset > haystack_len || offset < -INT_MAX) { php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Offset is greater than the length of haystack string"); RETURN_FALSE; - } else { - e = haystack + haystack_len + offset; } + e = haystack + haystack_len + offset; } /* Borrow that ord_needle buffer to avoid repeatedly tolower()ing needle */ *ord_needle = tolower(*needle); @@ -1893,7 +1892,7 @@ PHP_FUNCTION(strripos) p = haystack_dup + offset; e = haystack_dup + haystack_len - needle_len; } else { - if (-offset > haystack_len || -offset < 0) { + if (-offset > haystack_len || offset < -INT_MAX) { efree(needle_dup); efree(haystack_dup); php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Offset is greater than the length of haystack string"); -- cgit v1.2.1