From acab24d7d4f12962beece66b65c42edc21e7ac16 Mon Sep 17 00:00:00 2001 From: Alain Emilia Anna Zscheile Date: Thu, 5 Dec 2024 20:32:26 +0100 Subject: [PATCH] feat(specctra-core-fuzz): add another fuzz target (for 'Structure') --- crates/specctra-core/fuzz/Cargo.toml | 7 +++++++ .../fuzz/fuzz_targets/fuzz_target_1.rs | 2 +- .../fuzz/fuzz_targets/fuzz_target_2.rs | 19 +++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 crates/specctra-core/fuzz/fuzz_targets/fuzz_target_2.rs diff --git a/crates/specctra-core/fuzz/Cargo.toml b/crates/specctra-core/fuzz/Cargo.toml index c8be7d3..a836d20 100644 --- a/crates/specctra-core/fuzz/Cargo.toml +++ b/crates/specctra-core/fuzz/Cargo.toml @@ -19,3 +19,10 @@ path = "fuzz_targets/fuzz_target_1.rs" test = false doc = false bench = false + +[[bin]] +name = "fuzz_target_2" +path = "fuzz_targets/fuzz_target_2.rs" +test = false +doc = false +bench = false diff --git a/crates/specctra-core/fuzz/fuzz_targets/fuzz_target_1.rs b/crates/specctra-core/fuzz/fuzz_targets/fuzz_target_1.rs index f15d4cb..85eed40 100644 --- a/crates/specctra-core/fuzz/fuzz_targets/fuzz_target_1.rs +++ b/crates/specctra-core/fuzz/fuzz_targets/fuzz_target_1.rs @@ -3,7 +3,7 @@ use libfuzzer_sys::fuzz_target; fuzz_target!(|data: &str| { - let mut cursor = std::io::Cursor::new(data); + let cursor = std::io::Cursor::new(data); use specctra_core::{read::ListTokenizer, structure::DsnFile}; diff --git a/crates/specctra-core/fuzz/fuzz_targets/fuzz_target_2.rs b/crates/specctra-core/fuzz/fuzz_targets/fuzz_target_2.rs new file mode 100644 index 0000000..eeffd22 --- /dev/null +++ b/crates/specctra-core/fuzz/fuzz_targets/fuzz_target_2.rs @@ -0,0 +1,19 @@ +#![no_main] + +use libfuzzer_sys::fuzz_target; + +fuzz_target!(|data: &str| { + let cursor = std::io::Cursor::new(data); + + use specctra_core::{read::ListTokenizer, write::ListWriter, structure::Structure}; + + let mut tkz = ListTokenizer::new(cursor); + + let res: Result<_, _> = tkz.read_value::(); + + if let Ok(val) = res { + let mut dat = Vec::new(); + let mut lw = ListWriter::new(&mut dat); + let _ = lw.write_value(&val); + } +});