123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #!/usr/bin/env bash
- set -e
- # --------------------------------------------------------------------
- # Copies all the corpus files, dict and options to the $OUT directory.
- # This script is only used on oss-fuzz directly
- # --------------------------------------------------------------------
- fuzzerFiles=$(find $SRC/open62541/tests/fuzz/ -name "*.cc")
- for F in $fuzzerFiles; do
- fuzzerName=$(basename $F .cc)
- if [ -d "$SRC/open62541/tests/fuzz/${fuzzerName}_corpus" ]; then
- # first combine any files in subfolders to one single binary file
- subDirs=$(find $SRC/open62541/tests/fuzz/${fuzzerName}_corpus -maxdepth 1 -mindepth 1 -type d)
- for dirPath in $subDirs; do
- dir=$(basename $dirPath)
- dirPathTmp=$SRC/open62541/tests/fuzz/${fuzzerName}_corpus/${dir}_tmp
- if [ -d $dirPathTmp ]; then
- rm -r $dirPathTmp
- fi
- mkdir $dirPathTmp
- # copy the files to get unique names
- binFiles=$(find $dirPath -name "*.bin")
- for binFile in $binFiles; do
- binFileName=$(basename $binFile .bin)
- cp $binFile $dirPathTmp/${dir}_${binFileName}.bin
- done
- outPath=$dirPathTmp/$dir.bin
- cat $dirPath/*.bin > $outPath
- zip -j $OUT/${fuzzerName}_seed_corpus.zip $dirPathTmp/*
- rm -r $dirPathTmp
- done
- zip -j $OUT/${fuzzerName}_seed_corpus.zip $SRC/open62541/tests/fuzz/${fuzzerName}_corpus/*
- fi
- done
- cp $SRC/open62541/tests/fuzz/*.dict $SRC/open62541/tests/fuzz/*.options $OUT/
|