aboutsummaryrefslogtreecommitdiff
path: root/fuzz/fuzz_ds_ptree.cpp
diff options
context:
space:
mode:
authorIvan Nardi <12729895+IvanNardi@users.noreply.github.com>2023-02-16 18:04:34 +0100
committerGitHub <noreply@github.com>2023-02-16 18:04:34 +0100
commit4075324e2b81c11254a28362942a477594be6b28 (patch)
tree6d2412efd764f97cfd3bdefd9ee623248b718efb /fuzz/fuzz_ds_ptree.cpp
parent06d4f8c7e56816d20636dc3838fa3a9825ad2ac8 (diff)
fuzz: extend fuzz coverage (#1888)
Diffstat (limited to 'fuzz/fuzz_ds_ptree.cpp')
-rw-r--r--fuzz/fuzz_ds_ptree.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/fuzz/fuzz_ds_ptree.cpp b/fuzz/fuzz_ds_ptree.cpp
index ae92a0257..d8a055c3b 100644
--- a/fuzz/fuzz_ds_ptree.cpp
+++ b/fuzz/fuzz_ds_ptree.cpp
@@ -11,10 +11,11 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
FuzzedDataProvider fuzzed_data(data, size);
u_int16_t i, num_iteration;
ndpi_ptree_t *t;
- ndpi_ip_addr_t addr, addr_added;
+ ndpi_ip_addr_t addr, addr2, addr_added;
u_int8_t bits;
int rc, is_added = 0;
u_int64_t user_data;
+ char buf_ip[256];
/* To allow memory allocation failures */
fuzz_set_alloc_callbacks_and_seed(size);
@@ -37,6 +38,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
bits = fuzzed_data.ConsumeIntegralInRange(0, 32);
};
+ /* Not really ptree stuff, but this seem the right place to fuzz these `ndpi_ip_addr_t` functions */
+ ndpi_parse_ip_string(ndpi_get_ip_string(&addr, buf_ip, sizeof(buf_ip)), &addr2);
+
rc = ndpi_ptree_insert(t, &addr, bits, 0);
/* Keep one random node really added */
if (rc == 0 && is_added == 0 && fuzzed_data.ConsumeBool()) {