view fetch.sh @ 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
children 4032153b8b7a
line wrap: on
line source

#!/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