diff options
-rw-r--r-- | src/string/memmem.c | 2 | ||||
-rw-r--r-- | src/string/strstr.c | 2 | ||||
-rw-r--r-- | src/string/wcsstr.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/src/string/memmem.c b/src/string/memmem.c index a5a249f2..3b1ae183 100644 --- a/src/string/memmem.c +++ b/src/string/memmem.c @@ -120,7 +120,7 @@ static char *twoway_memmem(const unsigned char *h, const unsigned char *z, const } /* Compare left half */ for (k=ms+1; k>mem && n[k-1] == h[k-1]; k--); - if (k == mem) return (char *)h; + if (k <= mem) return (char *)h; h += p; mem = mem0; } diff --git a/src/string/strstr.c b/src/string/strstr.c index 915c0a22..cd069127 100644 --- a/src/string/strstr.c +++ b/src/string/strstr.c @@ -130,7 +130,7 @@ static char *twoway_strstr(const unsigned char *h, const unsigned char *n) } /* Compare left half */ for (k=ms+1; k>mem && n[k-1] == h[k-1]; k--); - if (k == mem) return (char *)h; + if (k <= mem) return (char *)h; h += p; mem = mem0; } diff --git a/src/string/wcsstr.c b/src/string/wcsstr.c index 3e28e287..4caaef3c 100644 --- a/src/string/wcsstr.c +++ b/src/string/wcsstr.c @@ -84,7 +84,7 @@ static wchar_t *twoway_wcsstr(const wchar_t *h, const wchar_t *n) } /* Compare left half */ for (k=ms+1; k>mem && n[k-1] == h[k-1]; k--); - if (k == mem) return (wchar_t *)h; + if (k <= mem) return (wchar_t *)h; h += p; mem = mem0; } |