diff options
author | Kostya Serebryany <kcc@google.com> | 2017-10-13 01:12:23 +0000 |
---|---|---|
committer | Kostya Serebryany <kcc@google.com> | 2017-10-13 01:12:23 +0000 |
commit | 617d610c7925d1914bc0be8d895c3ee60c48c6bc (patch) | |
tree | c5ac7c49227aa421b51697e1d866ac220c310504 /lib/fuzzer/FuzzerLoop.cpp | |
parent | 44c688de4e166daaf2829fee8b49c9cf9812853b (diff) |
[libFuzzer] tweam use_feature_frequency to be less aggressive; run a dummy input before the seed corpus
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@315657 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/fuzzer/FuzzerLoop.cpp')
-rw-r--r-- | lib/fuzzer/FuzzerLoop.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/fuzzer/FuzzerLoop.cpp b/lib/fuzzer/FuzzerLoop.cpp index c095fed12..30844e328 100644 --- a/lib/fuzzer/FuzzerLoop.cpp +++ b/lib/fuzzer/FuzzerLoop.cpp @@ -621,6 +621,10 @@ void Fuzzer::ReadAndExecuteSeedCorpora(const Vector<std::string> &CorpusDirs) { SetMaxInputLen(std::min(std::max(kMinDefaultLen, MaxSize), kMaxSaneLen)); assert(MaxInputLen > 0); + // Test the callback with empty input and never try it again. + uint8_t dummy = 0; + ExecuteCallback(&dummy, 0); + if (SizedFiles.empty()) { Printf("INFO: A corpus is not provided, starting from an empty corpus\n"); Unit U({'\n'}); // Valid ASCII input. @@ -648,9 +652,6 @@ void Fuzzer::ReadAndExecuteSeedCorpora(const Vector<std::string> &CorpusDirs) { } } - // Test the callback with empty input and never try it again. - uint8_t dummy; - ExecuteCallback(&dummy, 0); PrintStats("INITED"); if (Corpus.empty()) { |