aboutsummaryrefslogtreecommitdiff
path: root/fuzz/fuzz_readerutils_workflow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fuzz/fuzz_readerutils_workflow.cpp')
-rw-r--r--fuzz/fuzz_readerutils_workflow.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/fuzz/fuzz_readerutils_workflow.cpp b/fuzz/fuzz_readerutils_workflow.cpp
index a3aea2e11..9087a72c1 100644
--- a/fuzz/fuzz_readerutils_workflow.cpp
+++ b/fuzz/fuzz_readerutils_workflow.cpp
@@ -17,6 +17,7 @@ int malloc_size_stats = 0;
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
FuzzedDataProvider fuzzed_data(data, size);
ndpi_workflow *w;
+ struct ndpi_global_context *g_ctx;
struct ndpi_workflow_prefs prefs;
pcap_t *pcap_handle;
ndpi_serialization_format serialization_format;
@@ -82,7 +83,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
return 0;
}
- w = ndpi_workflow_init(&prefs, pcap_handle, 1, serialization_format);
+ g_ctx = ndpi_global_init();
+
+ w = ndpi_workflow_init(&prefs, pcap_handle, 1, serialization_format, g_ctx);
if(w) {
NDPI_BITMASK_SET_ALL(enabled_bitmask);
rc = ndpi_set_protocol_detection_bitmask2(w->ndpi_struct, &enabled_bitmask);
@@ -101,6 +104,8 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
}
pcap_close(pcap_handle);
+ ndpi_global_deinit(g_ctx);
+
ndpi_free(_debug_protocols);
return 0;