From 82210187a6c31d782f0120e79b844df65a2c78f6 Mon Sep 17 00:00:00 2001 From: SashaXser <24498484+SashaXser@users.noreply.github.com> Date: Fri, 1 Dec 2023 10:54:26 +0300 Subject: [PATCH] Add files via upload --- src/goodbyedpi.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/goodbyedpi.c b/src/goodbyedpi.c index e5885c2..8e29d51 100644 --- a/src/goodbyedpi.c +++ b/src/goodbyedpi.c @@ -238,13 +238,15 @@ static char* dumb_memmem(const char* haystack, unsigned int hlen, if (nlen > hlen) return NULL; if (nlen == 0) return (char*)haystack; - unsigned int skip[256]; - for (size_t i = 0; i < 256; ++i) skip[i] = nlen; - for (size_t i = 0; i < nlen - 1; ++i) skip[(unsigned char)needle[i]] = nlen - i - 1; + for (unsigned int i = 0; i <= hlen - nlen; i++) { + for (unsigned int j = 0; j < nlen; j++) { + if (haystack[i + j] != needle[j]) { + break; + } - for (size_t i = nlen - 1; i < hlen; i += skip[(unsigned char)haystack[i]]) { - if (memcmp(haystack + i - nlen + 1, needle, nlen) == 0) { - return (char*)(haystack + i - nlen + 1); + if (j == nlen - 1) { + return (char*)(haystack + i); + } } }