RETURN_FALSE;
}
- if (len > s1_len - offset) {
- len = s1_len - offset;
- }
-
cmp_len = (uint) (len ? len : MAX(s2_len, (s1_len - offset)));
if (!cs) {
--- /dev/null
+--TEST--
+Bug #54454 (substr_compare incorrectly reports equality in some cases)
+--FILE--
+<?php
+var_dump(substr_compare('/', '/asd', 0, 4));
+?>
+--EXPECT--
+int(-3)
Warning: substr_compare(): The start position cannot exceed initial string length in %s on line %d
bool(false)
-int(0)
+int(-1)
Warning: substr_compare() expects parameter 5 to be boolean, object given in %s on line %d
bool(false)