X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=sidebyside;f=fuzz%2Ffuzz_targets%2Fchannelmonitor_deserialize_target.rs;fp=fuzz%2Ffuzz_targets%2Fchannelmonitor_deserialize_target.rs;h=0000000000000000000000000000000000000000;hb=77a96366ba851a422cb9817ac1c511c3d137c101;hp=0bf86177a1885ca74fe79502c1a1ffaadc1fa527;hpb=220a3e974098fd68c5ab63937e51235f5085f5e5;p=rust-lightning diff --git a/fuzz/fuzz_targets/channelmonitor_deserialize_target.rs b/fuzz/fuzz_targets/channelmonitor_deserialize_target.rs deleted file mode 100644 index 0bf86177..00000000 --- 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); - } -}