diff --git a/llvm/lib/Fuzzer/FuzzerIO.cpp b/llvm/lib/Fuzzer/FuzzerIO.cpp index 9df6837442c2..5cc589a9ec1a 100644 --- a/llvm/lib/Fuzzer/FuzzerIO.cpp +++ b/llvm/lib/Fuzzer/FuzzerIO.cpp @@ -86,9 +86,13 @@ void WriteToFile(const Unit &U, const std::string &Path) { void ReadDirToVectorOfUnits(const char *Path, std::vector *V, long *Epoch) { long E = Epoch ? *Epoch : 0; - for (auto &X : ListFilesInDir(Path, Epoch)) { + auto Files = ListFilesInDir(Path, Epoch); + for (size_t i = 0; i < Files.size(); i++) { + auto &X = Files[i]; auto FilePath = DirPlusFile(Path, X); if (Epoch && GetEpoch(FilePath) < E) continue; + if ((i % 1000) == 0 && i) + Printf("Loaded %zd/%zd files from %s\n", i, Files.size(), Path); V->push_back(FileToVector(FilePath)); } } diff --git a/llvm/lib/Fuzzer/FuzzerLoop.cpp b/llvm/lib/Fuzzer/FuzzerLoop.cpp index 78d5c61a6d48..e044b67c9ab7 100644 --- a/llvm/lib/Fuzzer/FuzzerLoop.cpp +++ b/llvm/lib/Fuzzer/FuzzerLoop.cpp @@ -101,6 +101,8 @@ void Fuzzer::StaticAlarmCallback() { void Fuzzer::AlarmCallback() { assert(Options.UnitTimeoutSec > 0); + if (!CurrentUnitSize) + return; // We have not started running units yet. size_t Seconds = duration_cast(system_clock::now() - UnitStartTime).count(); if (Seconds == 0)