Coverage Report

Created: 2025-08-25 06:49

/src/image/fuzz/fuzzers/fuzzer_script_tga.rs
Line
Count
Source
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
879
fn decode(data: &[u8]) -> Result<(), image::ImageError> {
10
    use image::ImageDecoder;
11
879
    let decoder = image::codecs::tga::TgaDecoder::new(std::io::Cursor::new(data))?;
12
639
    if decoder.total_bytes() > 4_000_000 {
13
19
        return Ok(());
14
620
    }
15
620
    let mut buffer = vec![0; decoder.total_bytes() as usize];
16
620
    decoder.read_image(&mut buffer)?;
17
223
    Ok(())
18
879
}