From a56e05cf630aae95b2ad946966170a2e656bd50b Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sat, 18 Feb 2023 21:44:24 +0100 Subject: [PATCH] add fuzzing for the date function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Work done RafaƂ Mikrut --- src/uu/date/fuzz/.gitignore | 3 +++ src/uu/date/fuzz/Cargo.toml | 26 +++++++++++++++++++ .../date/fuzz/fuzz_targets/fuzz_target_1.rs | 13 ++++++++++ 3 files changed, 42 insertions(+) create mode 100644 src/uu/date/fuzz/.gitignore create mode 100644 src/uu/date/fuzz/Cargo.toml create mode 100644 src/uu/date/fuzz/fuzz_targets/fuzz_target_1.rs diff --git a/src/uu/date/fuzz/.gitignore b/src/uu/date/fuzz/.gitignore new file mode 100644 index 000000000..a0925114d --- /dev/null +++ b/src/uu/date/fuzz/.gitignore @@ -0,0 +1,3 @@ +target +corpus +artifacts diff --git a/src/uu/date/fuzz/Cargo.toml b/src/uu/date/fuzz/Cargo.toml new file mode 100644 index 000000000..8853ede90 --- /dev/null +++ b/src/uu/date/fuzz/Cargo.toml @@ -0,0 +1,26 @@ +# spell-checker:ignore libfuzzer + +[package] +name = "uu_date-fuzz" +version = "0.0.0" +publish = false +edition = "2021" + +[package.metadata] +cargo-fuzz = true + +[dependencies] +libfuzzer-sys = "0.4" + +[dependencies.uu_date] +path = ".." + +# Prevent this from interfering with workspaces +[workspace] +members = ["."] + +[[bin]] +name = "fuzz_target_1" +path = "fuzz_targets/fuzz_target_1.rs" +test = false +doc = false diff --git a/src/uu/date/fuzz/fuzz_targets/fuzz_target_1.rs b/src/uu/date/fuzz/fuzz_targets/fuzz_target_1.rs new file mode 100644 index 000000000..432a90994 --- /dev/null +++ b/src/uu/date/fuzz/fuzz_targets/fuzz_target_1.rs @@ -0,0 +1,13 @@ +// spell-checker:ignore libfuzzer + +#![no_main] +use libfuzzer_sys::fuzz_target; + +use std::ffi::OsString; +use uu_date::uumain; + +fuzz_target!(|data: &[u8]| { + let iter: Vec = [""].into_iter().map(|e| OsString::from(e)).collect(); + let it2 = iter.into_iter(); + uumain(it2); +});