diff options
author | Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> | 2023-02-16 18:04:34 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-16 18:04:34 +0100 |
commit | 4075324e2b81c11254a28362942a477594be6b28 (patch) | |
tree | 6d2412efd764f97cfd3bdefd9ee623248b718efb /fuzz/fuzz_ds_ptree.cpp | |
parent | 06d4f8c7e56816d20636dc3838fa3a9825ad2ac8 (diff) |
fuzz: extend fuzz coverage (#1888)
Diffstat (limited to 'fuzz/fuzz_ds_ptree.cpp')
-rw-r--r-- | fuzz/fuzz_ds_ptree.cpp | 6 |
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()) { |