[compiler-rt] r341495 - [libfuzzer] Replace memmem with strstr.

Matt Morehouse via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 5 14:03:44 PDT 2018


Author: morehouse
Date: Wed Sep  5 14:03:43 2018
New Revision: 341495

URL: http://llvm.org/viewvc/llvm-project?rev=341495&view=rev
Log:
[libfuzzer] Replace memmem with strstr.

Summary: Memmem is not available on Windows.

Patch By: metzman

Reviewers: morehouse

Reviewed By: morehouse

Subscribers: george.karpenkov, morehouse

Differential Revision: https://reviews.llvm.org/D51692

Modified:
    compiler-rt/trunk/test/fuzzer/InitializeTest.cpp
    compiler-rt/trunk/test/fuzzer/initialize.test

Modified: compiler-rt/trunk/test/fuzzer/InitializeTest.cpp
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/fuzzer/InitializeTest.cpp?rev=341495&r1=341494&r2=341495&view=diff
==============================================================================
--- compiler-rt/trunk/test/fuzzer/InitializeTest.cpp (original)
+++ compiler-rt/trunk/test/fuzzer/InitializeTest.cpp Wed Sep  5 14:03:43 2018
@@ -9,7 +9,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-static char *argv0;
+static char *argv0 = NULL;
 
 extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv) {
   assert(*argc > 0);
@@ -20,8 +20,7 @@ extern "C" int LLVMFuzzerInitialize(int
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
   assert(argv0);
-  if (Size == strlen(argv0) &&
-      !memmem(Data, Size, argv0, Size)) {
+  if (argv0 && Size >= 4 && !memcmp(Data, "fuzz", 4)) {
     fprintf(stderr, "BINGO %s\n", argv0);
     exit(1);
   }

Modified: compiler-rt/trunk/test/fuzzer/initialize.test
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/fuzzer/initialize.test?rev=341495&r1=341494&r2=341495&view=diff
==============================================================================
--- compiler-rt/trunk/test/fuzzer/initialize.test (original)
+++ compiler-rt/trunk/test/fuzzer/initialize.test Wed Sep  5 14:03:43 2018
@@ -1,4 +1,4 @@
-# FIXME: Disabled on Windows because memmem is a GNU extension.
+# FIXME: Disabled on Windows since LLVMFuzzerInitialize does not yet work.
 UNSUPPORTED: windows
 CHECK: BINGO
 RUN: %cpp_compiler %S/InitializeTest.cpp -o %t-InitializeTest




More information about the llvm-commits mailing list