From: Kostya Serebryany Date: Fri, 30 Sep 2016 22:29:57 +0000 (+0000) Subject: [libFuzzer] remove unused option X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5d78fc63a497ade8d7972b766594003f2ec14ecb;p=llvm [libFuzzer] remove unused option git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282971 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Fuzzer/FuzzerDriver.cpp b/lib/Fuzzer/FuzzerDriver.cpp index f2452dc95f2..484d8901525 100644 --- a/lib/Fuzzer/FuzzerDriver.cpp +++ b/lib/Fuzzer/FuzzerDriver.cpp @@ -427,7 +427,6 @@ int FuzzerDriver(int *argc, char ***argv, UserCallback Callback) { Options.PrintFinalStats = Flags.print_final_stats; Options.PrintCorpusStats = Flags.print_corpus_stats; Options.PrintCoverage = Flags.print_coverage; - Options.PruneCorpus = Flags.prune_corpus; if (Flags.exit_on_src_pos) Options.ExitOnSrcPos = Flags.exit_on_src_pos; diff --git a/lib/Fuzzer/FuzzerFlags.def b/lib/Fuzzer/FuzzerFlags.def index 1d62e429b30..230ad579955 100644 --- a/lib/Fuzzer/FuzzerFlags.def +++ b/lib/Fuzzer/FuzzerFlags.def @@ -92,8 +92,6 @@ FUZZER_FLAG_INT(detect_leaks, 1, "If 1, and if LeakSanitizer is enabled " "try to detect memory leaks during fuzzing (i.e. not only at shut down).") FUZZER_FLAG_INT(rss_limit_mb, 2048, "If non-zero, the fuzzer will exit upon" "reaching this limit of RSS memory usage.") -FUZZER_FLAG_INT(prune_corpus, 1, "Prune corpus items without new coverage when " - "loading corpus.") FUZZER_FLAG_STRING(exit_on_src_pos, "Exit if a newly found PC originates" " from the given source location. Example: -exit_on_src_pos=foo.cc:123. " "Used primarily for testing libFuzzer itself.") diff --git a/lib/Fuzzer/FuzzerLoop.cpp b/lib/Fuzzer/FuzzerLoop.cpp index f7d0b156a5b..e0deab3c42e 100644 --- a/lib/Fuzzer/FuzzerLoop.cpp +++ b/lib/Fuzzer/FuzzerLoop.cpp @@ -413,8 +413,7 @@ void Fuzzer::ShuffleAndMinimize(UnitVector *InitialCorpus) { ShuffleCorpus(InitialCorpus); for (const auto &U : *InitialCorpus) { - bool NewCoverage = RunOne(U); - if (!Options.PruneCorpus || NewCoverage) { + if (RunOne(U)) { AddToCorpusAndMaybeRerun(U); if (Options.Verbosity >= 2) Printf("NEW0: %zd L %zd\n", MaxCoverage.BlockCoverage, U.size()); diff --git a/lib/Fuzzer/FuzzerOptions.h b/lib/Fuzzer/FuzzerOptions.h index 56c35aa5253..09b2cdec945 100644 --- a/lib/Fuzzer/FuzzerOptions.h +++ b/lib/Fuzzer/FuzzerOptions.h @@ -49,7 +49,6 @@ struct FuzzingOptions { bool PrintCorpusStats = false; bool PrintCoverage = false; bool DetectLeaks = true; - bool PruneCorpus = true; }; } // namespace fuzzer diff --git a/lib/Fuzzer/test/CustomCrossOverTest.cpp b/lib/Fuzzer/test/CustomCrossOverTest.cpp index 2ab5781155f..b624088b902 100644 --- a/lib/Fuzzer/test/CustomCrossOverTest.cpp +++ b/lib/Fuzzer/test/CustomCrossOverTest.cpp @@ -15,10 +15,16 @@ static const char *Separator = "-_^_-"; static const char *Target = "012-_^_-abc"; +static volatile int sink; + extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { assert(Data); std::string Str(reinterpret_cast(Data), Size); + // Ensure that two different elements exist in the corpus. + if (Size && Data[0] == '0') sink++; + if (Size && Data[0] == 'a') sink--; + if (Str.find(Target) != std::string::npos) { std::cout << "BINGO; Found the target, exiting\n"; exit(1); diff --git a/lib/Fuzzer/test/fuzzer-customcrossover.test b/lib/Fuzzer/test/fuzzer-customcrossover.test index 4be54d3f799..28d39ce31de 100644 --- a/lib/Fuzzer/test/fuzzer-customcrossover.test +++ b/lib/Fuzzer/test/fuzzer-customcrossover.test @@ -2,7 +2,7 @@ RUN: rm -rf %t/CustomCrossover RUN: mkdir -p %t/CustomCrossover RUN: echo "0123456789" > %t/CustomCrossover/digits RUN: echo "abcdefghij" > %t/CustomCrossover/chars -RUN: not LLVMFuzzer-CustomCrossOverTest -seed=1 -use_memcmp=0 -runs=100000 -prune_corpus=0 %t/CustomCrossover 2>&1 | FileCheck %s --check-prefix=LLVMFuzzerCustomCrossover +RUN: not LLVMFuzzer-CustomCrossOverTest -seed=1 -use_memcmp=0 -runs=100000 %t/CustomCrossover 2>&1 | FileCheck %s --check-prefix=LLVMFuzzerCustomCrossover RUN: rm -rf %t/CustomCrossover LLVMFuzzerCustomCrossover: In LLVMFuzzerCustomCrossover diff --git a/lib/Fuzzer/test/fuzzer-prunecorpus.test b/lib/Fuzzer/test/fuzzer-prunecorpus.test deleted file mode 100644 index a8a660e91b9..00000000000 --- a/lib/Fuzzer/test/fuzzer-prunecorpus.test +++ /dev/null @@ -1,13 +0,0 @@ -RUN: rm -rf %t/PruneCorpus -RUN: mkdir -p %t/PruneCorpus -RUN: echo a > %t/PruneCorpus/a -RUN: echo b > %t/PruneCorpus/b -RUN: LLVMFuzzer-EmptyTest %t/PruneCorpus -prune_corpus=1 -runs=0 2>&1 | FileCheck %s --check-prefix=PRUNE -RUN: LLVMFuzzer-EmptyTest %t/PruneCorpus -prune_corpus=0 -runs=0 2>&1 | FileCheck %s --check-prefix=NOPRUNE -RUN: rm -rf %t/PruneCorpus - -PRUNE: READ units: 2 -PRUNE: INITED{{.*}}units: 1 -NOPRUNE: READ units: 2 -NOPRUNE: INITED{{.*}}units: 2 -