#![no_main] use libfuzzer_sys::fuzz_target; use smoltcp::wire::{DhcpPacket, DhcpRepr}; fuzz_target!(|data: &[u8]| { let _ = match DhcpPacket::new_checked(data) { Ok(ref packet) => match DhcpRepr::parse(packet) { Ok(dhcp_repr) => { let mut dhcp_payload = vec![0; dhcp_repr.buffer_len()]; match DhcpPacket::new_checked(&mut dhcp_payload[..]) { Ok(mut dhcp_packet) => Some(dhcp_repr.emit(&mut dhcp_packet)), Err(_) => None, } } Err(_) => None, }, Err(_) => None, }; });