renet/fuzz/fuzz_targets/dhcp_header.rs

20 lines
624 B
Rust

#![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,
};
});