From 4f3b5135a5b1d57586d74e1812fd58a231f738eb Mon Sep 17 00:00:00 2001 From: Pascal Hertleif Date: Tue, 14 Mar 2017 17:00:19 +0100 Subject: [PATCH] Add fuzz target for serde_yaml Fixes #32 --- Cargo.toml | 1 + serde_yaml/Cargo.toml | 12 ++++++++++++ serde_yaml/read_yaml.rs | 8 ++++++++ serde_yaml/seeds/0001 | 25 +++++++++++++++++++++++++ serde_yaml/seeds/0002 | 7 +++++++ 5 files changed, 53 insertions(+) create mode 100644 serde_yaml/Cargo.toml create mode 100644 serde_yaml/read_yaml.rs create mode 100644 serde_yaml/seeds/0001 create mode 100644 serde_yaml/seeds/0002 diff --git a/Cargo.toml b/Cargo.toml index 657ea3f..fdd300f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,6 +11,7 @@ members = [ "regex", "rustfmt", "serde_json", + "serde_yaml", "tar", "xml-rs", ] diff --git a/serde_yaml/Cargo.toml b/serde_yaml/Cargo.toml new file mode 100644 index 0000000..7748c4c --- /dev/null +++ b/serde_yaml/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "serde_yaml-targets" +version = "0.0.0" +publish = false + +[dependencies] +serde_yaml = { git = "https://github.com/dtolnay/serde-yaml" } +libfuzzer-sys = { git = "https://github.com/rust-fuzz/libfuzzer-sys.git" } + +[[bin]] +name = "read_yaml" +path = "read_yaml.rs" diff --git a/serde_yaml/read_yaml.rs b/serde_yaml/read_yaml.rs new file mode 100644 index 0000000..c2903f2 --- /dev/null +++ b/serde_yaml/read_yaml.rs @@ -0,0 +1,8 @@ +#![no_main] + +#[macro_use] extern crate libfuzzer_sys; +extern crate serde_yaml; + +fuzz_target!(|data| { + let _ = serde_yaml::from_slice::(data); +}); diff --git a/serde_yaml/seeds/0001 b/serde_yaml/seeds/0001 new file mode 100644 index 0000000..8df8d90 --- /dev/null +++ b/serde_yaml/seeds/0001 @@ -0,0 +1,25 @@ +--- +none_f: + &none_f + ~ +none_s: + &none_s + ~ +none_b: + &none_b + ~ +some_f: + &some_f + 1.0 +some_s: + &some_s + x +some_b: + &some_b + true +a: *none_f +b: *none_s +c: *none_b +d: *some_f +e: *some_s +f: *some_b" \ No newline at end of file diff --git a/serde_yaml/seeds/0002 b/serde_yaml/seeds/0002 new file mode 100644 index 0000000..d86bd89 --- /dev/null +++ b/serde_yaml/seeds/0002 @@ -0,0 +1,7 @@ +--- +first: + &alias + 1 +second: + *alias +third: 3 \ No newline at end of file