diff options
| author | Kostya Serebryany <kcc@google.com> | 2019-05-24 00:43:52 +0000 |
|---|---|---|
| committer | Kostya Serebryany <kcc@google.com> | 2019-05-24 00:43:52 +0000 |
| commit | 060f4b48d55c761de2722c0b7387966d1e8ede0c (patch) | |
| tree | 8626b589a2d1290c2f5fe37958f0c3e12b4ba049 /compiler-rt/lib/fuzzer/FuzzerLoop.cpp | |
| parent | ab09cca310e8de1b79766f93b3b83897eabb52dd (diff) | |
| download | bcm5719-llvm-060f4b48d55c761de2722c0b7387966d1e8ede0c.tar.gz bcm5719-llvm-060f4b48d55c761de2722c0b7387966d1e8ede0c.zip | |
[libFuzzer] when using data-flow-trace (DFT) only load the DFT for the files present in the corpus
llvm-svn: 361579
Diffstat (limited to 'compiler-rt/lib/fuzzer/FuzzerLoop.cpp')
| -rw-r--r-- | compiler-rt/lib/fuzzer/FuzzerLoop.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler-rt/lib/fuzzer/FuzzerLoop.cpp b/compiler-rt/lib/fuzzer/FuzzerLoop.cpp index d7adc90c996..7081daa8990 100644 --- a/compiler-rt/lib/fuzzer/FuzzerLoop.cpp +++ b/compiler-rt/lib/fuzzer/FuzzerLoop.cpp @@ -157,9 +157,6 @@ Fuzzer::Fuzzer(UserCallback CB, InputCorpus &Corpus, MutationDispatcher &MD, AllocateCurrentUnitData(); CurrentUnitSize = 0; memset(BaseSha1, 0, sizeof(BaseSha1)); - auto FocusFunctionOrAuto = Options.FocusFunction; - DFT.Init(Options.DataFlowTrace, &FocusFunctionOrAuto , MD.GetRand()); - TPC.SetFocusFunction(FocusFunctionOrAuto); } Fuzzer::~Fuzzer() {} @@ -789,6 +786,10 @@ void Fuzzer::ReadAndExecuteSeedCorpora(Vector<SizedFile> &CorporaFiles) { } void Fuzzer::Loop(Vector<SizedFile> &CorporaFiles) { + auto FocusFunctionOrAuto = Options.FocusFunction; + DFT.Init(Options.DataFlowTrace, &FocusFunctionOrAuto, CorporaFiles, + MD.GetRand()); + TPC.SetFocusFunction(FocusFunctionOrAuto); ReadAndExecuteSeedCorpora(CorporaFiles); DFT.Clear(); // No need for DFT any more. TPC.SetPrintNewPCs(Options.PrintNewCovPcs); |

