[libFuzzer] Don't add leaking inputs to corpus.
Reviewers: kcc
Reviewed By: kcc
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D39850
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/fuzzer@317831 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/FuzzerLoop.cpp b/FuzzerLoop.cpp
index 97bc1c6..81e609e 100644
--- a/FuzzerLoop.cpp
+++ b/FuzzerLoop.cpp
@@ -641,11 +641,12 @@
assert(NewSize <= CurrentMaxMutationLen && "Mutator return oversized unit");
Size = NewSize;
II.NumExecutedMutations++;
- if (RunOne(CurrentUnitData, Size, /*MayDeleteFile=*/true, &II))
- ReportNewCoverage(&II, {CurrentUnitData, CurrentUnitData + Size});
+ bool NewCov = RunOne(CurrentUnitData, Size, /*MayDeleteFile=*/true, &II);
TryDetectingAMemoryLeak(CurrentUnitData, Size,
/*DuringInitialCorpusExecution*/ false);
+ if (NewCov)
+ ReportNewCoverage(&II, {CurrentUnitData, CurrentUnitData + Size});
}
}