Coverage Report

Created: 2025-07-18 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
763
fn decode(data: &[u8]) -> Result<(), image::ImageError> {
10
    use image::ImageDecoder;
11
763
    let decoder = image::codecs::tga::TgaDecoder::new(std::io::Cursor::new(data))?;
12
543
    if decoder.total_bytes() > 4_000_000 {
13
12
        return Ok(());
14
531
    }
15
531
    let mut buffer = vec![0; decoder.total_bytes() as usize];
16
531
    decoder.read_image(&mut buffer)?;
17
205
    Ok(())
18
763
}