39 lines
1.8 KiB
Bash
39 lines
1.8 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
cmd="$1"
|
|
shift 1
|
|
|
|
if [ $cmd == "build-ufbx" ]; then
|
|
afl-clang-fast -static ../../misc/fuzz_ufbx_persist.c -lm -o fuzz_ufbx
|
|
elif [ $cmd == "build-ufbx-32" ]; then
|
|
afl-clang-fast -static ../../misc/fuzz_ufbx_persist.c -lm -o fuzz_ufbx_32
|
|
elif [ $cmd == "build-ufbx-asan" ]; then
|
|
AFL_USE_ASAN=1 afl-clang-fast -DDISCRETE_ALLOCATIONS ../../misc/fuzz_ufbx_persist.c -lm -o fuzz_ufbx_asan
|
|
elif [ $cmd == "build-ufbx-asan-32" ]; then
|
|
AFL_USE_ASAN=1 afl-clang-fast -DDISCRETE_ALLOCATIONS ../../misc/fuzz_ufbx_persist.c -lm -o fuzz_ufbx_asan_32
|
|
elif [ $cmd == "build-cache" ]; then
|
|
afl-clang-fast -static ../../misc/fuzz_cache_persist.c -lm -o fuzz_cache
|
|
elif [ $cmd == "build-cache-32" ]; then
|
|
afl-clang-fast -static ../../misc/fuzz_cache_persist.c -lm -o fuzz_cache_32
|
|
elif [ $cmd == "build-cache-asan" ]; then
|
|
AFL_USE_ASAN=1 afl-clang-fast -DDISCRETE_ALLOCATIONS ../../misc/fuzz_cache_persist.c -lm -o fuzz_cache_asan
|
|
elif [ $cmd == "build-cache-asan-32" ]; then
|
|
AFL_USE_ASAN=1 afl-clang-fast -DDISCRETE_ALLOCATIONS ../../misc/fuzz_cache_persist.c -lm -o fuzz_cache_asan_32
|
|
elif [ $cmd == "build-obj" ]; then
|
|
afl-clang-fast -DLOAD_OBJ -static ../../misc/fuzz_ufbx_persist.c -lm -o fuzz_obj
|
|
elif [ $cmd == "build-obj-asan" ]; then
|
|
AFL_USE_ASAN=1 afl-clang-fast -DLOAD_OBJ -DDISCRETE_ALLOCATIONS ../../misc/fuzz_ufbx_persist.c -lm -o fuzz_obj_asan
|
|
elif [ $cmd == "build-mtl" ]; then
|
|
afl-clang-fast -DLOAD_MTL -static ../../misc/fuzz_ufbx_persist.c -lm -o fuzz_mtl
|
|
elif [ $cmd == "build-mtl-asan" ]; then
|
|
AFL_USE_ASAN=1 afl-clang-fast -DLOAD_MTL -DDISCRETE_ALLOCATIONS ../../misc/fuzz_ufbx_persist.c -lm -o fuzz_mtl_asan
|
|
fi
|
|
|
|
name=$1
|
|
shift 1
|
|
|
|
if [ $cmd == "fuzz" ]; then
|
|
cp -r cases "cases_$name"
|
|
afl-fuzz "$@" -i "cases_$name" -o "findings_$name" -t 1000 -m 2000 "./$name"
|
|
fi
|