[all-commits] [llvm/llvm-project] 62673c: [libFuzzer] Add an option to keep initial seed inp...
Dokyung Song via All-commits
all-commits at lists.llvm.org
Thu Sep 3 08:55:06 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 62673c430de43837b0f177089ed184a0ffcd5678
https://github.com/llvm/llvm-project/commit/62673c430de43837b0f177089ed184a0ffcd5678
Author: Dokyung Song <dokyungs at google.com>
Date: 2020-09-03 (Thu, 03 Sep 2020)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerCorpus.h
M compiler-rt/lib/fuzzer/FuzzerDriver.cpp
M compiler-rt/lib/fuzzer/FuzzerFlags.def
M compiler-rt/lib/fuzzer/FuzzerFork.cpp
M compiler-rt/lib/fuzzer/FuzzerInternal.h
M compiler-rt/lib/fuzzer/FuzzerLoop.cpp
M compiler-rt/lib/fuzzer/FuzzerOptions.h
M compiler-rt/lib/fuzzer/tests/FuzzerUnittest.cpp
A compiler-rt/test/fuzzer/KeepSeedTest.cpp
A compiler-rt/test/fuzzer/keep-seed.test
Log Message:
-----------
[libFuzzer] Add an option to keep initial seed inputs around.
This patch adds an option "keep_seed" to keep all initial seed inputs in the
corpus. Previously, only the initial seed inputs that find new coverage were
added to the corpus, and all the other initial inputs were discarded. We
observed in some circumstances that useful initial seed inputs are discarded as
they find no new coverage, even though they contain useful fragments in them
(e.g., SQLITE3 FuzzBench benchmark). This newly added option provides a way to
keeping seed inputs in the corpus for those circumstances. With this patch, and
with -keep_seed=1, all initial seed inputs are kept in the corpus regardless of
whether they find new coverage or not. Further, these seed inputs are not
replaced with smaller inputs even if -reduce_inputs=1.
Differential Revision: https://reviews.llvm.org/D86577
More information about the All-commits
mailing list