From df3f53bd5c370dcd46074189f3ad545c6aab942b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?= Date: Sun, 11 Oct 2020 19:59:31 +0200 Subject: Add a basic fuzzing framework using libFuzzer Updates #1 --- fuzz | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 fuzz (limited to 'fuzz') diff --git a/fuzz b/fuzz new file mode 100755 index 0000000..0964712 --- /dev/null +++ b/fuzz @@ -0,0 +1,18 @@ +#!/bin/sh +# I'm not sure how to make maximum use of this invention +# Make sure to have llvm-symbolizer installed +clang -g -fsanitize=address,undefined,fuzzer -fno-sanitize-recover=all \ + tests/fuzz.c -o fuzz-executor + +fuzz () { + echo "`tput bold`-- Fuzzing $1`tput sgr0`" + mkdir -p /tmp/corpus-$1 + ./fuzz-executor -test=$1 -artifact_prefix=$1- \ + -max_len=32 -max_total_time=600 -timeout=1 /tmp/corpus-$1 +} + +if [ $# -gt 0 ]; then + for test in "$@"; do fuzz $test; done +else + for test in $(./fuzz-executor); do fuzz $test; done +fi -- cgit v1.2.3