diff options
| author | Kostya Serebryany <kcc@google.com> | 2016-09-23 02:18:59 +0000 |
|---|---|---|
| committer | Kostya Serebryany <kcc@google.com> | 2016-09-23 02:18:59 +0000 |
| commit | ce1cab169f1b30115b984d897a113e75c9761be0 (patch) | |
| tree | 487bced7eadac5b3a5a43f52b33637067383b533 /llvm/lib/Fuzzer/FuzzerLoop.cpp | |
| parent | 16a145fd0ff30a2ae0a94de0bfc1e5b4828ddcdd (diff) | |
| download | bcm5719-llvm-ce1cab169f1b30115b984d897a113e75c9761be0.tar.gz bcm5719-llvm-ce1cab169f1b30115b984d897a113e75c9761be0.zip | |
[libFuzzer] be more precise about what we reset in TracePC
llvm-svn: 282225
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerLoop.cpp')
| -rw-r--r-- | llvm/lib/Fuzzer/FuzzerLoop.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerLoop.cpp b/llvm/lib/Fuzzer/FuzzerLoop.cpp index c376d10dd51..7182a693afa 100644 --- a/llvm/lib/Fuzzer/FuzzerLoop.cpp +++ b/llvm/lib/Fuzzer/FuzzerLoop.cpp @@ -68,7 +68,6 @@ void Fuzzer::ResetCounters() { } if (EF->__sanitizer_get_coverage_pc_buffer_pos) PcBufferPos = EF->__sanitizer_get_coverage_pc_buffer_pos(); - TPC.ResetNewPCIDs(); } void Fuzzer::PrepareCounters(Fuzzer::Coverage *C) { @@ -163,7 +162,8 @@ Fuzzer::Fuzzer(UserCallback CB, InputCorpus &Corpus, MutationDispatcher &MD, assert(!F); F = this; TPC.ResetTotalPCCoverage(); - TPC.Reset(); + TPC.ResetMaps(); + TPC.ResetGuards(); ResetCoverage(); IsMyThread = true; if (Options.DetectLeaks && EF->__sanitizer_install_malloc_and_free_hooks) @@ -470,6 +470,7 @@ void Fuzzer::ExecuteCallback(const uint8_t *Data, size_t Size) { AllocTracer.Start(); UnitStartTime = system_clock::now(); ResetCounters(); // Reset coverage right before the callback. + TPC.ResetMaps(); int Res = CB(DataCopy, Size); UnitStopTime = system_clock::now(); (void)Res; @@ -565,7 +566,8 @@ UnitVector Fuzzer::FindExtraUnits(const UnitVector &Initial, size_t OldSize = Res.size(); for (int Iter = 0; Iter < 10; Iter++) { ShuffleCorpus(&Res); - TPC.Reset(); + TPC.ResetMaps(); + TPC.ResetGuards(); ResetCoverage(); for (auto &U : Initial) |

