diff options
-rw-r--r-- | example/Makefile.in | 5 | ||||
-rw-r--r-- | example/reader_util.c | 4 | ||||
-rw-r--r-- | fuzz/fuzz_ndpi_reader.c | 8 |
3 files changed, 8 insertions, 9 deletions
diff --git a/example/Makefile.in b/example/Makefile.in index e70bff36c..ec44acbe3 100644 --- a/example/Makefile.in +++ b/example/Makefile.in @@ -1,7 +1,6 @@ CC=@CC@ CXX=@CXX@ BUILD_MINGW=@BUILD_MINGW@ -BUILD_FUZZTARGETS=@BUILD_FUZZTARGETS@ SRCHOME=../src CFLAGS=-g -fPIC -DPIC -I$(SRCHOME)/include @PCAP_INC@ @CFLAGS@ LIBNDPI=$(SRCHOME)/lib/libndpi.a @@ -11,10 +10,6 @@ HEADERS=intrusion_detection.h reader_util.h $(SRCHOME)/include/ndpi_api.h \ OBJS=ndpiReader.o reader_util.o intrusion_detection.o PREFIX?=@prefix@ -ifneq ($(BUILD_FUZZTARGETS),) -CFLAGS += -DBUILD_FUZZTARGETS=1 -endif - ifneq ($(BUILD_MINGW),) all: @echo 'Examples disabled due to mingw build.' diff --git a/example/reader_util.c b/example/reader_util.c index 18c8c6e2a..caa49fe07 100644 --- a/example/reader_util.c +++ b/example/reader_util.c @@ -1775,15 +1775,11 @@ struct ndpi_proto ndpi_workflow_process_packet(struct ndpi_workflow * workflow, break; default: -#ifndef BUILD_FUZZTARGETS /* * We shoudn't be here, because we already checked that this datalink is supported. * Should ndpi_is_datalink_supported() be updated? - * - * NOTE (toni): We get here quite often during fuzzing and it spams consoles and logfiles. ;) */ printf("Unknown datalink %d\n", datalink_type); -#endif return(nproto); } diff --git a/fuzz/fuzz_ndpi_reader.c b/fuzz/fuzz_ndpi_reader.c index 85d7c317a..49460ef4f 100644 --- a/fuzz/fuzz_ndpi_reader.c +++ b/fuzz/fuzz_ndpi_reader.c @@ -66,6 +66,14 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { free(pcap_path); return 0; } + if (ndpi_is_datalink_supported(pcap_datalink(pkts)) == 0) + { + /* Do not fail if the datalink type is not supported (may happen often during fuzzing). */ + pcap_close(pkts); + remove(pcap_path); + free(pcap_path); + return 0; + } struct ndpi_workflow * workflow = ndpi_workflow_init(prefs, pkts); // enable all protocols NDPI_BITMASK_SET_ALL(all); |