diff options
author | Luca Deri <lucaderi@users.noreply.github.com> | 2019-10-31 08:54:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-31 08:54:44 +0100 |
commit | edf0b171e22764a263c053f4eda2561b5520ec1a (patch) | |
tree | 5717ca5989ed67650319b0734b09b63b39c276b1 /fuzz/fuzz_process_packet.c | |
parent | c0a08d9ca22d8fe1371f9c3238d52b29ac4043f2 (diff) | |
parent | 148506ede87bbbcf8c475c9652c2b7e1b11ecc3a (diff) |
Merge pull request #810 from catenacyber/fuzztarget
Adds fuzz target
Diffstat (limited to 'fuzz/fuzz_process_packet.c')
-rw-r--r-- | fuzz/fuzz_process_packet.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/fuzz/fuzz_process_packet.c b/fuzz/fuzz_process_packet.c new file mode 100644 index 000000000..88319b419 --- /dev/null +++ b/fuzz/fuzz_process_packet.c @@ -0,0 +1,28 @@ +#include "ndpi_api.h" + +#include <stdint.h> +#include <stdio.h> + +struct ndpi_detection_module_struct *ndpi_info_mod = NULL; +struct ndpi_flow_struct *ndpi_flow; +struct ndpi_id_struct *src; +struct ndpi_id_struct *dst; + +int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { + if (ndpi_info_mod == NULL) { + ndpi_info_mod = ndpi_init_detection_module(); + NDPI_PROTOCOL_BITMASK all; + NDPI_BITMASK_SET_ALL(all); + ndpi_set_protocol_detection_bitmask2(ndpi_info_mod, &all); + ndpi_flow = ndpi_flow_malloc(SIZEOF_FLOW_STRUCT); + src = ndpi_malloc(SIZEOF_ID_STRUCT); + dst = ndpi_malloc(SIZEOF_ID_STRUCT); + } + + memset(ndpi_flow, 0, SIZEOF_FLOW_STRUCT); + memset(src, 0, SIZEOF_ID_STRUCT); + memset(dst, 0, SIZEOF_ID_STRUCT); + ndpi_detection_process_packet(ndpi_info_mod, ndpi_flow, Data, Size, 0, src, dst); + + return 0; +} |