MDNS-Fuzzer: AFL fuzzer tests for mdsn packet parser

* Original commit: espressif/esp-idf@e983230be9
This commit is contained in:
David Cermak
2018-05-04 16:42:54 +02:00
committed by suren-gabrielyan-espressif
parent 450c9de67b
commit 9f1be3668e
10 changed files with 833 additions and 391 deletions

View File

@ -1,17 +1,25 @@
TEST_NAME=test
FUZZ=afl-fuzz
CC=afl-clang-fast
COMPONENTS_DIR=../..
CFLAGS=-g -DMDNS_TEST_MODE -I. -I.. -I../include -I../private_include -I$(COMPONENTS_DIR)/tcpip_adapter/include -I$(COMPONENTS_DIR)/esp32/include -include esp32_compat.h
MDNS_C_DEPENDENCY_INJECTION=-include mdns_di.h
ifeq ($(INSTR),off)
CC=gcc
CFLAGS+=-DINSTR_IS_OFF
TEST_NAME=test_sim
else
CC=afl-clang-fast
endif
CPP=$(CC)
LD=$(CC)
OBJECTS=mdns.o test.o
CFLAGS=-DMDNS_TEST_MODE -I. -I../include
OBJECTS=mdns.o esp32_mock.o test.o
OS := $(shell uname)
ifeq ($(OS),Darwin)
LDLIBS=
else
LDLIBS=-lbsd
CFLAGS+=-DUSE_BSD_STRING
LDLIBS=-lbsd
CFLAGS+=-DUSE_BSD_STRING
endif
all: $(TEST_NAME)
@ -22,11 +30,11 @@ all: $(TEST_NAME)
mdns.o: ../mdns.c
@echo "[CC] $<"
@$(CC) $(CFLAGS) -c $< -o $@
@$(CC) $(CFLAGS) $(MDNS_C_DEPENDENCY_INJECTION) -c $< -o $@
$(TEST_NAME): $(OBJECTS)
@echo "[LD] $@"
@$(LD) $(LDLIBS) $(OBJECTS) -o $@
@$(LD) $(OBJECTS) -o $@ $(LDLIBS)
fuzz: $(TEST_NAME)
@$(FUZZ) -i "in" -o "out" -- ./$(TEST_NAME)