summaryrefslogtreecommitdiff
path: root/Zend/zend_operators.h
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_operators.h')
-rw-r--r--Zend/zend_operators.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h
index b126e96611..c6a55c2b6d 100644
--- a/Zend/zend_operators.h
+++ b/Zend/zend_operators.h
@@ -225,10 +225,12 @@ zend_memnrstr(const char *haystack, const char *needle, size_t needle_len, const
p -= needle_len;
do {
- if ((p = (const char *)zend_memrchr(haystack, *needle, (p - haystack) + 1)) && ne == p[needle_len-1]) {
- if (!memcmp(needle + 1, p + 1, needle_len - 2)) {
- return p;
- }
+ p = (const char *)zend_memrchr(haystack, *needle, (p - haystack) + 1);
+ if (!p) {
+ return NULL;
+ }
+ if (ne == p[needle_len-1] && !memcmp(needle + 1, p + 1, needle_len - 2)) {
+ return p;
}
} while (p-- >= haystack);