2018-03-22 17:52:07 -04:00
|
|
|
#!/bin/bash
|
2018-04-02 18:39:26 -04:00
|
|
|
set -e
|
2018-05-13 13:17:18 -04:00
|
|
|
|
|
|
|
pushd fuzz_targets/msg_targets
|
|
|
|
rm *_target.rs
|
|
|
|
./gen_target.sh
|
|
|
|
[ "$(git diff)" != "" ] && exit 1
|
|
|
|
popd
|
|
|
|
|
2018-04-02 18:39:26 -04:00
|
|
|
cargo install --force honggfuzz
|
2018-05-08 21:57:20 +09:00
|
|
|
for TARGET in fuzz_targets/*.rs fuzz_targets/msg_targets/*_target.rs; do
|
|
|
|
FILENAME=$(basename $TARGET)
|
2018-03-22 17:52:07 -04:00
|
|
|
FILE="${FILENAME%.*}"
|
2019-01-07 17:17:36 -05:00
|
|
|
HFUZZ_RUN_ARGS="--exit_upon_crash -v -n2"
|
|
|
|
if [ "$FILE" = "chanmon_fail_consistency" ]; then
|
|
|
|
HFUZZ_RUN_ARGS="$HFUZZ_RUN_ARGS -F 64 -N100000"
|
|
|
|
else
|
|
|
|
HFUZZ_RUN_ARGS="$HFUZZ_RUN_ARGS -N1000000"
|
|
|
|
fi
|
|
|
|
export HFUZZ_RUN_ARGS
|
|
|
|
HFUZZ_BUILD_ARGS="--features honggfuzz_fuzz" cargo hfuzz run $FILE
|
2018-03-22 17:52:07 -04:00
|
|
|
if [ -f hfuzz_workspace/$FILE/HONGGFUZZ.REPORT.TXT ]; then
|
|
|
|
cat hfuzz_workspace/$FILE/HONGGFUZZ.REPORT.TXT
|
|
|
|
for CASE in hfuzz_workspace/$FILE/SIG*; do
|
|
|
|
cat $CASE | xxd -p
|
|
|
|
done
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
done
|