AFL + Libfuzzer harnesses (#455)
* Package fuzzers * Provide ability to remove main * Don't build fuzzers by default
This commit is contained in:
committed by
GitHub
parent
9e7f8978fa
commit
fcc9647983
@@ -196,6 +196,30 @@ ifeq (${BACNET_PORT},win32)
|
||||
SUBDIRS += mstpcap mstpcrc
|
||||
endif
|
||||
|
||||
|
||||
#####
|
||||
# Define target-specific fuzzing flags
|
||||
#####
|
||||
|
||||
# AFL
|
||||
fuzz-afl: CC=afl-gcc
|
||||
fuzz-afl: FUZZ_FLAGS=-DFUZZING=1
|
||||
fuzz-afl: LFLAGS += $(FUZZ_FLAGS)
|
||||
fuzz-afl: CFLAGS += $(FUZZ_FLAGS)
|
||||
fuzz-afl: export AFL_USE_ASAN=1
|
||||
|
||||
# LIBFUZZER
|
||||
fuzz-libfuzzer: CC=clang
|
||||
fuzz-libfuzzer: FUZZ_FLAGS=-DFUZZING=1 -fsanitize=fuzzer,address -g3 -Og -fno-optimize-sibling-calls -fno-omit-frame-pointer
|
||||
fuzz-libfuzzer: LFLAGS += $(FUZZ_FLAGS)
|
||||
fuzz-libfuzzer: CFLAGS += $(FUZZ_FLAGS)
|
||||
|
||||
|
||||
#####
|
||||
# Fuzz setup end
|
||||
#####
|
||||
|
||||
|
||||
.PHONY: all clean
|
||||
TARGETS = all clean
|
||||
|
||||
@@ -354,6 +378,14 @@ router-ipv6: $(BACNET_LIB_TARGET)
|
||||
router-mstp: $(BACNET_LIB_TARGET)
|
||||
$(MAKE) -B -C $@
|
||||
|
||||
.PHONY: fuzz-libfuzzer
|
||||
fuzz-libfuzzer: $(BACNET_LIB_TARGET)
|
||||
$(MAKE) -B -C $@
|
||||
|
||||
.PHONY: fuzz-afl
|
||||
fuzz-afl: $(BACNET_LIB_TARGET)
|
||||
$(MAKE) -B -C $@
|
||||
|
||||
.PHONY: writepropm
|
||||
writepropm: $(BACNET_LIB_TARGET)
|
||||
$(MAKE) -B -C $@
|
||||
|
||||
Reference in New Issue
Block a user