diff options
author | Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> | 2023-01-25 11:44:59 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-25 11:44:59 +0100 |
commit | 9fc724de5a6539b84dfbec5d0d0fff68dc5676de (patch) | |
tree | d9f72cc9fe448a2ce36bed4aed65a3df93821d43 /fuzz/fuzz_ds_ahocorasick.cpp | |
parent | 29c5cc39fb7f714897c3d6a3454e696e263fb9bc (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.cpp | 3 |
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; |