Files
image-tiff/fuzz/fuzz_targets/decode_image.rs
T

30 lines
660 B
Rust

#![no_main]
use libfuzzer_sys::fuzz_target;
fuzz_target!(|data: &[u8]| {
let mut decoder = if let Ok(d) = tiff::decoder::Decoder::open(std::io::Cursor::new(data)) {
d
} else {
return;
};
let mut limits = tiff::decoder::Limits::default();
limits.decoding_buffer_size = 1_000_000;
limits.ifd_value_size = 1_000_000;
limits.intermediate_buffer_size = 1_000_000;
decoder = decoder.with_limits(limits);
loop {
if !decoder.more_images() {
break;
}
if let Err(_) = decoder.next_directory() {
break;
}
let _ = decoder.read_image();
}
});