fix strcasestr failing to find zero-length needle

the loop condition ending on end-of-haystack ends before a zero-length
needle can be matched, so just explicitly check it before the loop.
This commit is contained in:
Rich Felker
2025-05-16 09:11:14 -04:00
parent 23febbd3c5
commit ae3a8c93a6
+1
View File
@@ -4,6 +4,7 @@
char *strcasestr(const char *h, const char *n)
{
size_t l = strlen(n);
if (!l) return (char *)h;
for (; *h; h++) if (!strncasecmp(h, n, l)) return (char *)h;
return 0;
}