/src/image/fuzz/fuzzers/fuzzer_script_tga.rs
Line | Count | Source (jump to first uncovered line) |
1 | | #![no_main] |
2 | | #[macro_use] extern crate libfuzzer_sys; |
3 | | extern crate image; |
4 | | |
5 | | fuzz_target!(|data: &[u8]| { |
6 | | let _ = decode(data); |
7 | | }); |
8 | | |
9 | 0 | fn decode(data: &[u8]) -> Result<(), image::ImageError> { |
10 | | use image::ImageDecoder; |
11 | 0 | let decoder = image::codecs::tga::TgaDecoder::new(std::io::Cursor::new(data))?; |
12 | 0 | if decoder.total_bytes() > 4_000_000 { |
13 | 0 | return Ok(()); |
14 | 0 | } |
15 | 0 | let mut buffer = vec![0; decoder.total_bytes() as usize]; |
16 | 0 | decoder.read_image(&mut buffer)?; |
17 | 0 | Ok(()) |
18 | 0 | } |