From ebb932d0607bd79fa63e0eddd2e014243e756949 Mon Sep 17 00:00:00 2001 From: Kostya Serebryany Date: Mon, 18 Apr 2016 22:50:39 +0000 Subject: [libFuzzer] try to print correct time in seconds when reporting a timeout. Don't report timeouts while still loading the corpus. llvm-svn: 266693 --- llvm/lib/Fuzzer/FuzzerLoop.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'llvm/lib/Fuzzer/FuzzerLoop.cpp') diff --git a/llvm/lib/Fuzzer/FuzzerLoop.cpp b/llvm/lib/Fuzzer/FuzzerLoop.cpp index afdc9fa8540..3b00e47d233 100644 --- a/llvm/lib/Fuzzer/FuzzerLoop.cpp +++ b/llvm/lib/Fuzzer/FuzzerLoop.cpp @@ -280,7 +280,6 @@ void Fuzzer::ShuffleAndMinimize() { } bool Fuzzer::RunOne(const uint8_t *Data, size_t Size) { - UnitStartTime = system_clock::now(); TotalNumberOfRuns++; PrepareCoverageBeforeRun(); @@ -312,6 +311,7 @@ void Fuzzer::RunOneAndUpdateCorpus(uint8_t *Data, size_t Size) { } void Fuzzer::ExecuteCallback(const uint8_t *Data, size_t Size) { + UnitStartTime = system_clock::now(); // We copy the contents of Unit into a separate heap buffer // so that we reliably find buffer overflows in it. std::unique_ptr DataCopy(new uint8_t[Size]); @@ -320,10 +320,10 @@ void Fuzzer::ExecuteCallback(const uint8_t *Data, size_t Size) { CurrentUnitData = DataCopy.get(); CurrentUnitSize = Size; int Res = CB(DataCopy.get(), Size); + CurrentUnitSize = 0; + CurrentUnitData = nullptr; (void)Res; assert(Res == 0); - CurrentUnitData = nullptr; - CurrentUnitSize = 0; } size_t Fuzzer::RecordBlockCoverage() { -- cgit v1.2.3