Upgrade Group4Reader dimensions from u16 to u32

This commit is contained in:
Maria Pospelova committed 2026-03-03 10:50:27 +00:00
1 parent 2ac8be1177
commit c304a3cc13
3 files changed
+24 -3

No files matched your search

+21
View File
@@ -720,3 +720,24 @@ fn extra_bits_gray() {
fn extra_bits_rgb() {
test_image_sum_u8("extra_bits_rgb_8b.tiff", ColorType::RGB(8), 0);
}
#[test]
#[cfg(feature = "fax")]
fn test_decode_huge_g4() {
let path = PathBuf::from(TEST_IMAGE_DIR).join("big_g4.tif");
let img_file = File::open(path).expect("failed to open large G4 test image");
let mut decoder = tiff::decoder::Decoder::new(img_file).expect("failed to create decoder");
let (width, height) = decoder.dimensions().expect("failed to get dimensions");
assert!(height > u16::MAX as u32, "Test image height {} is not large enough to test u16 overflow", height);
let result = decoder.read_image().expect("failed to decode huge G4 image");
if let tiff::decoder::DecodingResult::U8(data) = result {
assert_eq!(data.len(), (width as usize * height as usize));
} else {
panic!("Unexpected decoding result type");
}
}