diff options
Diffstat (limited to 'lib/Fuzzer/test/StrstrTest.cpp')
| -rw-r--r-- | lib/Fuzzer/test/StrstrTest.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/Fuzzer/test/StrstrTest.cpp b/lib/Fuzzer/test/StrstrTest.cpp index 90d539b660a9b..f021e75ec0fde 100644 --- a/lib/Fuzzer/test/StrstrTest.cpp +++ b/lib/Fuzzer/test/StrstrTest.cpp @@ -8,9 +8,19 @@ #include <cstdio> #include <cstdlib> +// Windows does not have strcasestr and memmem, so we are not testing them. +#ifdef _WIN32 +#define strcasestr strstr +#define memmem(a, b, c, d) true +#endif + extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { + if (Size < 4) return 0; std::string s(reinterpret_cast<const char*>(Data), Size); - if (strstr(s.c_str(), "FUZZ") && strcasestr(s.c_str(), "aBcD")) { + if (strstr(s.c_str(), "FUZZ") && + strcasestr(s.c_str(), "aBcD") && + memmem(s.data(), s.size(), "kuku", 4) + ) { fprintf(stderr, "BINGO\n"); exit(1); } |
