X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=fuzz%2Ffuzz_targets%2Fchanmon_deser_target.rs;h=cce12d73f02d16d480919ed6318226e3a6b5224b;hb=28d0d44e442d2a5455d58b2820acaae794807415;hp=adf4a3a6ac887195857d92500e90f12c70f8ede6;hpb=982317a4448cef14212ddeb34ae4e89e896cb9d7;p=rust-lightning diff --git a/fuzz/fuzz_targets/chanmon_deser_target.rs b/fuzz/fuzz_targets/chanmon_deser_target.rs index adf4a3a6..cce12d73 100644 --- a/fuzz/fuzz_targets/chanmon_deser_target.rs +++ b/fuzz/fuzz_targets/chanmon_deser_target.rs @@ -5,22 +5,25 @@ extern crate lightning; use lightning::ln::channelmonitor; use lightning::util::reset_rng_state; +use lightning::util::ser::Readable; + +use std::io::Cursor; #[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); + if let Ok(monitor) = channelmonitor::ChannelMonitor::read(&mut Cursor::new(data)) { + assert!(channelmonitor::ChannelMonitor::read(&mut Cursor::new(&monitor.serialize_for_disk()[..])).unwrap() == monitor); monitor.serialize_for_watchtower(); } } #[cfg(feature = "afl")] -extern crate afl; +#[macro_use] extern crate afl; #[cfg(feature = "afl")] fn main() { - afl::read_stdio_bytes(|data| { - do_test(&data); + fuzz!(|data| { + do_test(data); }); }