Merge pull request #384 from image-rs/renovate-decode-iteration

Fix decode example/fuzz with new iteration
This commit is contained in:
Aurelia Molzer authored and GitHub committed 2026-04-08 18:49:52 +00:00
commit d760bd3442
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![]); let mut data = DecodingSampleBuffer::I8(vec![]);
for i in 0u32.. { for i in 0u32.. {
if !reader.more_images() {
break;
}
reader.next_directory()?;
let colortype = reader.colortype()?; let colortype = reader.colortype()?;
let dimensions = reader.dimensions()?; let dimensions = reader.dimensions()?;
let layout = reader.read_image_to_buffer(&mut data)?; let layout = reader.read_image_to_buffer(&mut data)?;
debug_planes(i, &mut data, &layout, &colortype, dimensions); debug_planes(i, &mut data, &layout, &colortype, dimensions);
if !reader.more_images() {
break;
}
reader.next_image()?
} }
Ok(()) Ok(())
+4 -6
View File
@@ -2,7 +2,7 @@
use libfuzzer_sys::fuzz_target; use libfuzzer_sys::fuzz_target;
fuzz_target!(|data: &[u8]| { 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 d
} else { } else {
return; return;
@@ -16,16 +16,14 @@ fuzz_target!(|data: &[u8]| {
decoder = decoder.with_limits(limits); decoder = decoder.with_limits(limits);
loop { loop {
if let Err(_) = decoder.read_image() {
break;
}
if !decoder.more_images() { if !decoder.more_images() {
break; break;
} }
if let Err(_) = decoder.next_image() { if let Err(_) = decoder.next_directory() {
break; break;
} }
let _ = decoder.read_image();
} }
}); });