1
0
mirror of https://github.com/coturn/coturn.git synced 2025-10-24 04:20:59 +02:00
coturn/fuzzing/build.sh
Arjun dda0c99759
fuzzing support (#982)
Adding fuzzing to finding memory-corruption-related bugs.

Hello coturn team,
Can you check this pr harness suite for creating harnesses and compiling
harnesses?
Any other thoughts on adding a new interface for fuzzing support ?


Signed-off-by: 0x34d <ajsinghyadav00@gmail.com>

Signed-off-by: 0x34d <ajsinghyadav00@gmail.com>
2022-10-24 22:01:58 +02:00

52 lines
1.7 KiB
Bash

#!/bin/bash -eu
build(){
export CFLAGS="$1"
export CXXFLAGS="$1"
export LIB_FUZZING_ENGINE=-fsanitize=fuzzer
mkdir build && cd build/
cmake -DFUZZER=ON -DLIB_FUZZING_ENGINE="$LIB_FUZZING_ENGINE" ../../.
make -j$(nproc)
cd fuzzing/
unzip FuzzStun_seed_corpus.zip
unzip FuzzStunClient_seed_corpus.zip
mkdir FuzzStun_Corpus
mkdir FuzzStunClient_Corpus
}
run(){
DIR=build/fuzzing
if [ $1 == '0' ]
then
./$DIR/FuzzStun $DIR/FuzzStun_Corpus/ $DIR/FuzzStun_seed_corpus
else
./$DIR/FuzzStunClient $DIR/FuzzStunClient_Corpus/ $DIR/FuzzStunClient_seed_corpus
fi
}
help(){
echo "use: ./$0 ASan | UBSan | MSan | Run 0 | Run 1"
}
if [ -z "$1" ]
then
help
elif [ $1 == "ASan" ]
then
build "-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link"
elif [ "$1" == "UBSan" ]
then
build "-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=array-bounds,bool,builtin,enum,float-divide-by-zero,function,integer-divide-by-zero,null,object-size,return,returns-nonnull-attribute,shift,signed-integer-overflow,unsigned-integer-overflow,unreachable,vla-bound,vptr -fno-sanitize-recover=array-bounds,bool,builtin,enum,float-divide-by-zero,function,integer-divide-by-zero,null,object-size,return,returns-nonnull-attribute,shift,signed-integer-overflow,unreachable,vla-bound,vptr -fsanitize=fuzzer-no-link"
elif [ "$1" == "MSan" ]
then
build "-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=memory -fsanitize-memory-track-origins -fsanitize=fuzzer-no-link"
elif [ "$1" == "Run" ]
then
run $2
else
help
fi