1
1

chars: don't persist when only one of the compared sequences is invalid

Persisting might lead to count 'n' reaching zero, which would mean that
the needle has matched, which is wrong when one of the strings contains
an invalid or incomplete multibyte sequence.
Этот коммит содержится в:
Benno Schulenberg 2016-08-06 10:34:38 +02:00
родитель d80109dd5e
Коммит e38e2c634b

Просмотреть файл

@ -530,6 +530,9 @@ int mbstrncasecmp(const char *s1, const char *s2, size_t n)
if (*s1 != *s2)
return (unsigned char)*s1 - (unsigned char)*s2;
if (bad1 != bad2)
return (bad1 ? 1 : -1);
s1++; s2++; n--;
continue;
}