From: Matt Corallo Date: Wed, 18 Jul 2018 18:36:24 +0000 (-0400) Subject: Shorten channelmonitor_deserialize_target's name for AFL X-Git-Tag: v0.0.12~390^2 X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=commitdiff_plain;h=77a96366ba851a422cb9817ac1c511c3d137c101;p=rust-lightning Shorten channelmonitor_deserialize_target's name for AFL --- diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index 8e2d76ce4..ac5373b7b 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -43,8 +43,8 @@ name = "full_stack_target" path = "fuzz_targets/full_stack_target.rs" [[bin]] -name = "channelmonitor_deserialize_target" -path = "fuzz_targets/channelmonitor_deserialize_target.rs" +name = "chanmon_deser_target" +path = "fuzz_targets/chanmon_deser_target.rs" # message fuzz targets [[bin]] diff --git a/fuzz/fuzz_targets/chanmon_deser_target.rs b/fuzz/fuzz_targets/chanmon_deser_target.rs new file mode 100644 index 000000000..0bf86177a --- /dev/null +++ b/fuzz/fuzz_targets/chanmon_deser_target.rs @@ -0,0 +1,63 @@ +// This file is auto-generated by gen_target.sh based on msg_target_template.txt +// To modify it, modify msg_target_template.txt and run gen_target.sh instead. + +extern crate lightning; + +use lightning::ln::channelmonitor; +use lightning::util::reset_rng_state; + +#[inline] +pub fn do_test(data: &[u8]) { + reset_rng_state(); + if let Some(monitor) = channelmonitor::ChannelMonitor::deserialize(data) { + assert!(channelmonitor::ChannelMonitor::deserialize(&monitor.serialize_for_disk()[..]).unwrap() == monitor); + monitor.serialize_for_watchtower(); + } +} + +#[cfg(feature = "afl")] +extern crate afl; +#[cfg(feature = "afl")] +fn main() { + afl::read_stdio_bytes(|data| { + do_test(&data); + }); +} + +#[cfg(feature = "honggfuzz")] +#[macro_use] extern crate honggfuzz; +#[cfg(feature = "honggfuzz")] +fn main() { + loop { + fuzz!(|data| { + do_test(data); + }); + } +} + +#[cfg(test)] +mod tests { + fn extend_vec_from_hex(hex: &str, out: &mut Vec) { + let mut b = 0; + for (idx, c) in hex.as_bytes().iter().enumerate() { + b <<= 4; + match *c { + b'A'...b'F' => b |= c - b'A' + 10, + b'a'...b'f' => b |= c - b'a' + 10, + b'0'...b'9' => b |= c - b'0', + _ => panic!("Bad hex"), + } + if (idx & 1) == 1 { + out.push(b); + b = 0; + } + } + } + + #[test] + fn duplicate_crash() { + let mut a = Vec::new(); + extend_vec_from_hex("00", &mut a); + super::do_test(&a); + } +} diff --git a/fuzz/fuzz_targets/channelmonitor_deserialize_target.rs b/fuzz/fuzz_targets/channelmonitor_deserialize_target.rs deleted file mode 100644 index 0bf86177a..000000000 --- a/fuzz/fuzz_targets/channelmonitor_deserialize_target.rs +++ /dev/null @@ -1,63 +0,0 @@ -// This file is auto-generated by gen_target.sh based on msg_target_template.txt -// To modify it, modify msg_target_template.txt and run gen_target.sh instead. - -extern crate lightning; - -use lightning::ln::channelmonitor; -use lightning::util::reset_rng_state; - -#[inline] -pub fn do_test(data: &[u8]) { - reset_rng_state(); - if let Some(monitor) = channelmonitor::ChannelMonitor::deserialize(data) { - assert!(channelmonitor::ChannelMonitor::deserialize(&monitor.serialize_for_disk()[..]).unwrap() == monitor); - monitor.serialize_for_watchtower(); - } -} - -#[cfg(feature = "afl")] -extern crate afl; -#[cfg(feature = "afl")] -fn main() { - afl::read_stdio_bytes(|data| { - do_test(&data); - }); -} - -#[cfg(feature = "honggfuzz")] -#[macro_use] extern crate honggfuzz; -#[cfg(feature = "honggfuzz")] -fn main() { - loop { - fuzz!(|data| { - do_test(data); - }); - } -} - -#[cfg(test)] -mod tests { - fn extend_vec_from_hex(hex: &str, out: &mut Vec) { - let mut b = 0; - for (idx, c) in hex.as_bytes().iter().enumerate() { - b <<= 4; - match *c { - b'A'...b'F' => b |= c - b'A' + 10, - b'a'...b'f' => b |= c - b'a' + 10, - b'0'...b'9' => b |= c - b'0', - _ => panic!("Bad hex"), - } - if (idx & 1) == 1 { - out.push(b); - b = 0; - } - } - } - - #[test] - fn duplicate_crash() { - let mut a = Vec::new(); - extend_vec_from_hex("00", &mut a); - super::do_test(&a); - } -}