rust-lightning/fuzz/fuzz_targets/chanmon_deser_target.rs

47 lines
982 B
Rust
Raw Normal View History

// 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);
});
}
}
extern crate hex;
#[cfg(test)]
mod tests {
#[test]
fn duplicate_crash() {
super::do_test(&::hex::decode("00").unwrap());
}
}