diff options
| -rw-r--r-- | fuzz/Cargo.toml | 13 | ||||
| -rw-r--r-- | fuzz/fuzzers/binary_reader.rs | 4 | ||||
| -rw-r--r-- | fuzz/fuzzers/xml_reader.rs | 14 |
3 files changed, 28 insertions, 3 deletions
diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index d1935db..b10e0d5 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -5,13 +5,22 @@ version = "0.0.1" authors = ["Automatically generated"] publish = false +[package.metadata] +cargo-fuzz = true + [dependencies.plist] path = ".." +[dependencies.libfuzzer-sys] +git = "https://github.com/rust-fuzz/libfuzzer-sys.git" # Prevent this from interfering with workspaces [workspace] members = ["."] [[bin]] -name = "fuzzer_script_1" -path = "fuzzers/fuzzer_script_1.rs" +name = "binary_reader" +path = "fuzzers/binary_reader.rs" + +[[bin]] +name = "xml_reader" +path = "fuzzers/xml_reader.rs" diff --git a/fuzz/fuzzers/binary_reader.rs b/fuzz/fuzzers/binary_reader.rs index 800ca21..4956694 100644 --- a/fuzz/fuzzers/binary_reader.rs +++ b/fuzz/fuzzers/binary_reader.rs @@ -4,9 +4,11 @@ extern crate plist; use std::io::Cursor; use plist::Plist; +use plist::binary::EventReader; #[export_name="rust_fuzzer_test_input"] pub extern fn go(data: &[u8]) { let cursor = Cursor::new(data); - let _ = Plist::read(cursor); + let reader = EventReader::new(cursor); + let _ = Plist::from_events(reader); } diff --git a/fuzz/fuzzers/xml_reader.rs b/fuzz/fuzzers/xml_reader.rs new file mode 100644 index 0000000..3901b25 --- /dev/null +++ b/fuzz/fuzzers/xml_reader.rs @@ -0,0 +1,14 @@ +#![no_main] +extern crate libfuzzer_sys; +extern crate plist; + +use std::io::Cursor; +use plist::Plist; +use plist::xml::EventReader; + +#[export_name="rust_fuzzer_test_input"] +pub extern fn go(data: &[u8]) { + let cursor = Cursor::new(data); + let reader = EventReader::new(cursor); + let _ = Plist::from_events(reader); +}
\ No newline at end of file |
