aboutsummaryrefslogtreecommitdiff
path: root/fuzz/fuzz_ds_ahocorasick.cpp
diff options
context:
space:
mode:
authorIvan Nardi <12729895+IvanNardi@users.noreply.github.com>2023-01-25 11:44:59 +0100
committerGitHub <noreply@github.com>2023-01-25 11:44:59 +0100
commit9fc724de5a6539b84dfbec5d0d0fff68dc5676de (patch)
treed9f72cc9fe448a2ce36bed4aed65a3df93821d43 /fuzz/fuzz_ds_ahocorasick.cpp
parent29c5cc39fb7f714897c3d6a3454e696e263fb9bc (diff)
Add some fuzzers to test other data structures. (#1870)
Start using a dictionary for fuzzing (see: https://llvm.org/docs/LibFuzzer.html#dictionaries). Remove some dead code. Fuzzing with debug enabled is not usually a great idea (from performance POV). Keep the code since it might be useful while debugging.
Diffstat (limited to 'fuzz/fuzz_ds_ahocorasick.cpp')
-rw-r--r--fuzz/fuzz_ds_ahocorasick.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/fuzz/fuzz_ds_ahocorasick.cpp b/fuzz/fuzz_ds_ahocorasick.cpp
index 67521811e..cd56058e1 100644
--- a/fuzz/fuzz_ds_ahocorasick.cpp
+++ b/fuzz/fuzz_ds_ahocorasick.cpp
@@ -59,10 +59,11 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
ac_pattern.astring = value_dup;
ac_pattern.length = strlen(value_dup);
- ac_pattern.rep.number = 0;
+ ac_pattern.rep.number = fuzzed_data.ConsumeIntegral<u_int16_t>();
ac_pattern.rep.category = 0;
ac_pattern.rep.breed = 0;
ac_pattern.rep.level = fuzzed_data.ConsumeIntegralInRange(0, 2);
+ ac_pattern.rep.from_start = fuzzed_data.ConsumeBool();
ac_pattern.rep.at_end = fuzzed_data.ConsumeBool();
ac_pattern.rep.dot = memchr(value_dup, '.', strlen(value_dup)) != NULL;