From b4d2fd32edf99540bb264c472c2223428d3bf579 Mon Sep 17 00:00:00 2001 From: Kornel Date: Mon, 22 Jan 2024 11:48:50 +0000 Subject: [PATCH] Test truncated files --- tests/stall.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/stall.rs b/tests/stall.rs index a25d725..b99bfbb 100644 --- a/tests/stall.rs +++ b/tests/stall.rs @@ -43,6 +43,19 @@ fn decode(data: &[u8]) -> Result<(), gif::DecodingError> { Ok(()) } +#[test] +fn test_truncated_file() { + let data = include_bytes!("../tests/samples/anim-gr.gif"); + for len in 0..data.len()-1 { + + let truncated = &data[..len]; + // it's expected to fail often, but should not stall or panic + if let Ok(d) = gif::DecodeOptions::new().read_info(truncated) { + let _ = d.into_iter().take_while(|f| f.is_ok()).count(); + } + } +} + #[test] fn one_byte_at_a_time() { let r = OneByte {