Fix decode example/fuzz with new iteration

This commit is contained in:
A. Molzer committed 2026-04-08 20:43:12 +02:00
1 parent 86ac5b601e
commit a70e05e51e
2 files changed
+10 -12

No files matched your search

+6 -6
View File
@@ -13,17 +13,17 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut data = DecodingSampleBuffer::I8(vec![]);
for i in 0u32.. {
if !reader.more_images() {
break;
}
reader.next_directory()?;
let colortype = reader.colortype()?;
let dimensions = reader.dimensions()?;
let layout = reader.read_image_to_buffer(&mut data)?;
debug_planes(i, &mut data, &layout, &colortype, dimensions);
if !reader.more_images() {
break;
}
reader.next_image()?
}
Ok(())
+4 -6
View File
@@ -2,7 +2,7 @@
use libfuzzer_sys::fuzz_target;
fuzz_target!(|data: &[u8]| {
let mut decoder = if let Ok(d) = tiff::decoder::Decoder::new(std::io::Cursor::new(data)) {
let mut decoder = if let Ok(d) = tiff::decoder::Decoder::open(std::io::Cursor::new(data)) {
d
} else {
return;
@@ -16,16 +16,14 @@ fuzz_target!(|data: &[u8]| {
decoder = decoder.with_limits(limits);
loop {
if let Err(_) = decoder.read_image() {
break;
}
if !decoder.more_images() {
break;
}
if let Err(_) = decoder.next_image() {
if let Err(_) = decoder.next_directory() {
break;
}
let _ = decoder.read_image();
}
});