diff options
author | Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> | 2025-01-06 16:53:29 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-06 16:53:29 +0100 |
commit | bf830b4236132b1100fb9c4863a737fb53eb669f (patch) | |
tree | 553dcba7218a50c247baa182d8c294fbc297e198 /fuzz/fuzz_config.cpp | |
parent | c3d19be26f8a437fbfc3fbae14d13c260cbe77d7 (diff) |
Add the ability to enable/disable every specific flow risks (#2653)
Diffstat (limited to 'fuzz/fuzz_config.cpp')
-rw-r--r-- | fuzz/fuzz_config.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/fuzz/fuzz_config.cpp b/fuzz/fuzz_config.cpp index c8d8d7a65..8ced9381b 100644 --- a/fuzz/fuzz_config.cpp +++ b/fuzz/fuzz_config.cpp @@ -398,6 +398,17 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ndpi_set_config(ndpi_info_mod, NULL, "metadata.tcp_fingerprint", cfg_value); } if(fuzzed_data.ConsumeBool()) { + pid = fuzzed_data.ConsumeIntegralInRange<u_int16_t>(0, NDPI_MAX_RISK + 1); /* + 1 to trigger invalid pid */ + value = fuzzed_data.ConsumeIntegralInRange(0, 1 + 1); + snprintf(cfg_value, sizeof(cfg_value), "%d", value); + if(fuzzed_data.ConsumeBool() && pid < NDPI_MAX_RISK) + snprintf(cfg_param, sizeof(cfg_param), "flow_risk.%s", ndpi_risk_shortnames[pid]); + else + snprintf(cfg_param, sizeof(cfg_param), "flow_risk.%d", pid); + ndpi_set_config(ndpi_info_mod, NULL, cfg_param, cfg_value); + ndpi_get_config(ndpi_info_mod, NULL, cfg_param, cfg_value, sizeof(cfg_value)); + } + if(fuzzed_data.ConsumeBool()) { value = fuzzed_data.ConsumeIntegralInRange(0, 1 + 1); snprintf(cfg_value, sizeof(cfg_value), "%d", value); ndpi_set_config(ndpi_info_mod, NULL, "flow_risk_lists.load", cfg_value); |