changeset 21:1a22de6a6b1a

Script to fetch new corpus and update the repository
author Matt Johnston <matt@ucc.asn.au>
date Sun, 07 Mar 2021 16:06:25 +0800
parents 6b857c4abe66
children 4cdb539e4b20
files fetch.sh
diffstat 1 files changed, 30 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fetch.sh	Sun Mar 07 16:06:25 2021 +0800
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+# Fetch new corpus from oss-fuzz and update the repository. Make sure you commit first!
+
+# Before running you need to set up gcloud auth
+
+set -x
+set -e
+
+FUZZERS=$(make list-fuzz-targets)
+
+rm -rf dl
+mkdir dl
+for F in $FUZZERS; do
+    gsutil cp gs://dropbear-backup.clusterfuzz-external.appspot.com/corpus/libFuzzer/dropbear_$F/latest.zip dl/$F.zip
+done
+
+# need to use "xargs -n 200" to avoid "argument list too long"
+rm -rf old
+mkdir old
+for F in $FUZZERS; do
+    mkdir old/$F
+	# 40 characters is a hash - those filenames came from a previous corpus
+	# we want to keep manually named files which are handcrafted seeds
+	echo $F/???????????????????????????????????????? | xargs -n 200 rm || true
+	# unzip overwrite, quiet
+    (cd $F; unzip -o -q ../dl/$F.zip)
+done
+
+hg addremove $FUZZERS