diff options
author | Evgeny Vereshchagin <evvers@ya.ru> | 2022-01-29 22:36:41 +0100 |
---|---|---|
committer | Evgeny Vereshchagin <evvers@ya.ru> | 2022-01-30 11:17:25 +0100 |
commit | 69aa4982bc514a1d096aeb0563025ece81f978f9 (patch) | |
tree | 0ff6c80c1a7222178dd95207c65367c9e6e30239 /tools/oss-fuzz.sh | |
parent | ci: update GHActions once a month (diff) | |
download | systemd-69aa4982bc514a1d096aeb0563025ece81f978f9.tar.xz systemd-69aa4982bc514a1d096aeb0563025ece81f978f9.zip |
ci: merge seed corpora with public OSS-Fuzz corpora on CFLite
to let it cover as much code as possible. It should help to catch
most regressions in a few minutes.
Diffstat (limited to 'tools/oss-fuzz.sh')
-rwxr-xr-x | tools/oss-fuzz.sh | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/tools/oss-fuzz.sh b/tools/oss-fuzz.sh index f227eb0e85..8ff3abefb7 100755 --- a/tools/oss-fuzz.sh +++ b/tools/oss-fuzz.sh @@ -35,7 +35,7 @@ else apt-get update apt-get install -y gperf m4 gettext python3-pip \ libcap-dev libmount-dev libkmod-dev \ - pkg-config wget python3-jinja2 + pkg-config wget python3-jinja2 zipmerge # gnu-efi is installed here to enable -Dgnu-efi behind which fuzz-bcd # is hidden. It isn't linked against efi. It doesn't @@ -98,3 +98,15 @@ wget -O "$OUT/fuzz-json.dict" https://raw.githubusercontent.com/rc0r/afl-fuzz/ma find "$build" -maxdepth 1 -type f -executable -name "fuzz-*" -exec mv {} "$OUT" \; find src -type f -name "fuzz-*.dict" -exec cp {} "$OUT" \; cp src/fuzz/*.options "$OUT" + +if [[ "$MERGE_WITH_OSS_FUZZ_CORPORA" == "yes" ]]; then + for f in "$OUT/"fuzz-*; do + [[ -x "$f" ]] || continue + fuzzer=$(basename "$f") + t=$(mktemp) + if wget -O "$t" "https://storage.googleapis.com/systemd-backup.clusterfuzz-external.appspot.com/corpus/libFuzzer/systemd_${fuzzer}/public.zip"; then + zipmerge "$OUT/${fuzzer}_seed_corpus.zip" "$t" + fi + rm -rf "$t" + done +fi |