Skip to content

Commit b4d2fd3

Browse files
committed
Test truncated files
1 parent a0700f4 commit b4d2fd3

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

tests/stall.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,19 @@ fn decode(data: &[u8]) -> Result<(), gif::DecodingError> {
4343
Ok(())
4444
}
4545

46+
#[test]
47+
fn test_truncated_file() {
48+
let data = include_bytes!("../tests/samples/anim-gr.gif");
49+
for len in 0..data.len()-1 {
50+
51+
let truncated = &data[..len];
52+
// it's expected to fail often, but should not stall or panic
53+
if let Ok(d) = gif::DecodeOptions::new().read_info(truncated) {
54+
let _ = d.into_iter().take_while(|f| f.is_ok()).count();
55+
}
56+
}
57+
}
58+
4659
#[test]
4760
fn one_byte_at_a_time() {
4861
let r = OneByte {

0 commit comments

Comments
 (0)