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);
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");