Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues
Report generation date: 2025-07-11

Project overview: image-rs

High level conclusions

Reachability and coverage overview

Functions statically reachable by fuzzers
0.0%
5 / 1452
Cyclomatic complexity statically reachable by fuzzers
1.0%
11 / 1993
Runtime code coverage of functions
33.0%
473 / 1452

Warning: The number of runtime covered functions are larger than the number of reachable functions. This means that Fuzz Introspector found there are more functions covered at runtime than what is considered reachable based on the static analysis. This is a limitation in the analysis as anything covered at runtime is by definition reachable by the fuzzers.
This is likely due to a limitation in the static analysis. In this case, the count of functions covered at runtime is the true value, which means this is what should be considered "achieved" by the fuzzer.

Use the project functions table below to query all functions that were not covered at runtime.

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzzer details

Fuzzer: fuzzer_script_gif

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1535 97.7%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 36 2.29%
All colors 1571 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
634 520 tiff::TiffDecoder::new call site: 00520 BmpDecoder::read_metadata
340 1161 ImageReader::make_decoder call site: 01161 HdrDecoder::with_strictness
231 65 ImageBuffer::inner_pixels_mut call site: 00065 tests::test_image_outside_image_no_wrap_around
74 297 Box::read_image call site: 00297 TgaDecoder::expand_color_map
54 427 ImageReader::make_decoder call site: 00427 ImageReader::into_dimensions
47 8 ImageReader::make_decoder call site: 00008 TgaDecoder::expand_color_map
36 389 Limits::check_dimensions call site: 00389
22 1502 pcx::PCXDecoder::new call site: 01502
20 1550 ImageReader::set_format call site: 01550 ImageDecoder::set_limits
16 372 Limits::check_support call site: 00372 Limits::check_dimensions
13 1536 ImageDecoder::set_limits call site: 01536 TgaDecoder::expand_color_map
12 494 jpeg::JpegDecoder::new call site: 00494

Runtime coverage analysis

Covered functions
169
Functions that are reachable but not covered
2
Reachable functions
2
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz/fuzzers/fuzzer_script_gif.rs 2
src/images/dynimage.rs 3
src/error.rs 109
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 33
src/io/limits.rs 5
src/traits.rs 10
src/io/free_functions.rs 14
src/io/decoder.rs 11
src/codecs/tga/decoder.rs 14
src/images/buffer.rs 13
src/images/buffer_par.rs 1
src/animation.rs 17
src/codecs/farbfeld.rs 30
src/color.rs 12
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 8
src/images/flat.rs 2
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 20
src/codecs/pcx.rs 7
src/codecs/hdr/decoder.rs 55
src/codecs/tiff.rs 16
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/openexr.rs 15
src/utils/mod.rs 4
src/codecs/bmp/decoder.rs 50
src/imageops/sample.rs 25
src/codecs/ico/decoder.rs 14
src/codecs/pnm/decoder.rs 11
tests/limits_anim.rs 6
src/codecs/gif.rs 3

Fuzzer: roundtrip_webp

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1575 97.8%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 34 2.11%
All colors 1609 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
415 735 dds::DdsDecoder::new call site: 00735 BmpDecoder::read_metadata
345 31 ImageBuffer::inner_pixels call site: 00031 tests::test_image_outside_image_no_wrap_around
293 1161 ImageReader::make_decoder call site: 01161 HdrDecoder::with_strictness
227 494 ImageReader::make_decoder call site: 00494 Header::from_reader
98 394 Limits::check_dimensions call site: 00394 TgaDecoder::expand_color_map
65 1455 pnm::PnmDecoder::new call site: 01455 FarbfeldReader::new
31 1557 ImageBuffer::from_raw call site: 01557 Header::write_to
30 1521 ImageReader::require_format call site: 01521 ImageDecoder::set_limits
19 1589 ImageReader::set_format call site: 01589 ImageDecoder::set_limits
16 377 Limits::check_support call site: 00377 Limits::check_dimensions
9 20 ImageBuffer::image_buffer_len call site: 00020
8 1151 ImageReader::make_decoder call site: 01151

Runtime coverage analysis

Covered functions
141
Functions that are reachable but not covered
8
Reachable functions
16
Percentage of reachable functions covered
50.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz/fuzzers/roundtrip_webp.rs 11
src/codecs/hdr/decoder.rs 55
src/color.rs 12
src/codecs/avif/encoder.rs 8
src/io/image_reader_type.rs 33
src/error.rs 109
src/images/buffer.rs 15
src/images/buffer_par.rs 1
src/codecs/farbfeld.rs 30
src/traits.rs 10
src/io/limits.rs 5
src/io/free_functions.rs 14
src/io/decoder.rs 11
src/codecs/tga/decoder.rs 14
src/animation.rs 17
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 8
src/images/flat.rs 2
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 20
src/codecs/pcx.rs 7
src/codecs/tiff.rs 16
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/openexr.rs 15
src/utils/mod.rs 4
src/codecs/bmp/decoder.rs 50
src/imageops/sample.rs 25
src/codecs/ico/decoder.rs 14
src/codecs/pnm/decoder.rs 11
src/codecs/tga/header.rs 3
src/images/dynimage.rs 3
tests/limits_anim.rs 6
src/codecs/gif.rs 3

Fuzzer: fuzzer_script_pnm

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1455 92.6%
gold [1:9] 10 0.63%
yellow [10:29] 3 0.19%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 103 6.55%
All colors 1571 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
421 733 crate::utils::check_dimension_overflow call site: 00733 BmpDecoder::read_metadata
239 1155 ImageReader::make_decoder call site: 01155 HdrDecoder::with_strictness
200 171 ImageDecoder::total_bytes call site: 00171 tests::test_image_outside_image_no_wrap_around
181 474 zune_core::options::DecoderOptions::default call site: 00474 Header::from_reader
90 60 ImageBuffer::image_buffer_len call site: 00060 TgaDecoder::expand_color_map
84 389 Limits::check_dimensions call site: 00389 ImageReader::into_dimensions
52 1459 pnm::PnmDecoder::new call site: 01459 FarbfeldReader::new
29 20 Limits::default call site: 00020 Enlargeable::clamp_from
25 692 dds::DdsDecoder::new call site: 00692 DX10Header::validate
22 669 R::read_exact_vec call site: 00669 Header::from_reader
20 1550 ImageReader::set_format call site: 01550 ImageDecoder::set_limits
14 374 crate::LimitSupport::default call site: 00374 Limits::check_dimensions

Runtime coverage analysis

Covered functions
147
Functions that are reachable but not covered
2
Reachable functions
2
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz/fuzzers/fuzzer_script_pnm.rs 2
src/images/dynimage.rs 3
src/error.rs 109
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 33
src/io/limits.rs 5
src/traits.rs 10
src/io/free_functions.rs 14
src/io/decoder.rs 11
src/codecs/tga/decoder.rs 14
src/images/buffer.rs 13
src/images/buffer_par.rs 1
src/animation.rs 17
src/codecs/farbfeld.rs 30
src/color.rs 12
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 8
src/images/flat.rs 2
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 20
src/codecs/pcx.rs 7
src/codecs/hdr/decoder.rs 55
src/codecs/tiff.rs 16
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/openexr.rs 15
src/utils/mod.rs 4
src/codecs/bmp/decoder.rs 50
src/imageops/sample.rs 25
src/codecs/ico/decoder.rs 14
src/codecs/pnm/decoder.rs 11
tests/limits_anim.rs 6
src/codecs/gif.rs 3

Fuzzer: fuzzer_script_bmp

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1390 88.4%
gold [1:9] 40 2.54%
yellow [10:29] 17 1.08%
greenyellow [30:49] 13 0.82%
lawngreen 50+ 111 7.06%
All colors 1571 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
351 1173 ImageReader::make_decoder call site: 01173 HdrDecoder::with_strictness
311 60 ImageBuffer::image_buffer_len call site: 00060 tests::test_image_outside_image_no_wrap_around
181 474 zune_core::options::DecoderOptions::default call site: 00474 Header::from_reader
111 973 BmpDecoder::read_palette call site: 00973 vertical_sample
84 389 Limits::check_dimensions call site: 00389 ImageReader::into_dimensions
82 669 R::read_exact_vec call site: 00669 Header::from_reader
47 1107 bmp::BmpDecoder::new call site: 01107 ImageReader::make_decoder
41 919 BmpDecoder::read_metadata call site: 00919 FarbfeldReader::seek
35 20 Limits::default call site: 00020 TgaDecoder::expand_color_map
24 1525 ImageReader::require_format call site: 01525 ImageDecoder::set_limits
22 794 check_for_overflow call site: 00794
20 1550 ImageReader::set_format call site: 01550 ImageDecoder::set_limits

Runtime coverage analysis

Covered functions
112
Functions that are reachable but not covered
2
Reachable functions
2
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz/fuzzers/fuzzer_script_bmp.rs 2
src/images/dynimage.rs 3
src/error.rs 109
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 33
src/io/limits.rs 5
src/traits.rs 10
src/io/free_functions.rs 14
src/io/decoder.rs 11
src/codecs/tga/decoder.rs 14
src/images/buffer.rs 13
src/images/buffer_par.rs 1
src/animation.rs 17
src/codecs/farbfeld.rs 30
src/color.rs 12
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 8
src/images/flat.rs 2
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 20
src/codecs/pcx.rs 7
src/codecs/hdr/decoder.rs 55
src/codecs/tiff.rs 16
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/openexr.rs 15
src/utils/mod.rs 4
src/codecs/bmp/decoder.rs 50
src/imageops/sample.rs 25
src/codecs/ico/decoder.rs 14
src/codecs/pnm/decoder.rs 11
tests/limits_anim.rs 6
src/codecs/gif.rs 3

Fuzzer: fuzzer_script_webp

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1545 98.3%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 26 1.65%
All colors 1571 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
415 739 dds::DdsDecoder::new call site: 00739 BmpDecoder::read_metadata
311 60 ImageBuffer::image_buffer_len call site: 00060 tests::test_image_outside_image_no_wrap_around
293 1165 ImageReader::make_decoder call site: 01165 HdrDecoder::with_strictness
227 498 ImageReader::make_decoder call site: 00498 Header::from_reader
107 389 Limits::check_dimensions call site: 00389 TgaDecoder::expand_color_map
65 1459 pnm::PnmDecoder::new call site: 01459 FarbfeldReader::new
47 8 ImageReader::make_decoder call site: 00008 TgaDecoder::expand_color_map
24 1525 ImageReader::require_format call site: 01525 ImageDecoder::set_limits
20 1550 ImageReader::set_format call site: 01550 ImageDecoder::set_limits
16 372 Limits::check_support call site: 00372 Limits::check_dimensions
8 1155 ImageReader::make_decoder call site: 01155
7 0 EP call site: 00000 ImageReader::make_decoder

Runtime coverage analysis

Covered functions
312
Functions that are reachable but not covered
2
Reachable functions
2
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz/fuzzers/fuzzer_script_webp.rs 2
src/images/dynimage.rs 3
src/error.rs 109
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 33
src/io/limits.rs 5
src/traits.rs 10
src/io/free_functions.rs 14
src/io/decoder.rs 11
src/codecs/tga/decoder.rs 14
src/images/buffer.rs 13
src/images/buffer_par.rs 1
src/animation.rs 17
src/codecs/farbfeld.rs 30
src/color.rs 12
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 8
src/images/flat.rs 2
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 20
src/codecs/pcx.rs 7
src/codecs/hdr/decoder.rs 55
src/codecs/tiff.rs 16
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/openexr.rs 15
src/utils/mod.rs 4
src/codecs/bmp/decoder.rs 50
src/imageops/sample.rs 25
src/codecs/ico/decoder.rs 14
src/codecs/pnm/decoder.rs 11
tests/limits_anim.rs 6
src/codecs/gif.rs 3

Fuzzer: fuzzer_script_png

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1529 97.3%
gold [1:9] 0 0.0%
yellow [10:29] 5 0.31%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 37 2.35%
All colors 1571 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
412 742 DxtDecoder::new call site: 00742 BmpDecoder::read_metadata
365 1159 ImageReader::make_decoder call site: 01159 HdrDecoder::with_strictness
142 171 ImageDecoder::total_bytes call site: 00171 tests::test_image_outside_image_no_wrap_around
124 615 tga::TgaDecoder::new call site: 00615 Header::from_reader
121 458 ::std::io::Result::channel_count call site: 00458 TgaDecoder::expand_color_map
90 60 ImageBuffer::image_buffer_len call site: 00060 TgaDecoder::expand_color_map
60 389 Limits::check_dimensions call site: 00389 PCXReader::read_to_end
50 318 avif::AvifDecoder::new call site: 00318 TgaDecoder::expand_color_map
41 8 ImageReader::make_decoder call site: 00008 Enlargeable::clamp_from
29 585 tiff::TiffDecoder::new call site: 00585 Header::from_reader
24 1525 ImageReader::require_format call site: 01525 ImageDecoder::set_limits
20 1550 ImageReader::set_format call site: 01550 ImageDecoder::set_limits

Runtime coverage analysis

Covered functions
312
Functions that are reachable but not covered
2
Reachable functions
2
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz/fuzzers/fuzzer_script_png.rs 2
src/images/dynimage.rs 3
src/error.rs 109
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 33
src/io/limits.rs 5
src/traits.rs 10
src/io/free_functions.rs 14
src/io/decoder.rs 11
src/codecs/tga/decoder.rs 14
src/images/buffer.rs 13
src/images/buffer_par.rs 1
src/animation.rs 17
src/codecs/farbfeld.rs 30
src/color.rs 12
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 8
src/images/flat.rs 2
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 20
src/codecs/pcx.rs 7
src/codecs/hdr/decoder.rs 55
src/codecs/tiff.rs 16
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/openexr.rs 15
src/utils/mod.rs 4
src/codecs/bmp/decoder.rs 50
src/imageops/sample.rs 25
src/codecs/ico/decoder.rs 14
src/codecs/pnm/decoder.rs 11
tests/limits_anim.rs 6
src/codecs/gif.rs 3

Fuzzer: fuzzer_script_ico

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1368 87.0%
gold [1:9] 41 2.60%
yellow [10:29] 14 0.89%
greenyellow [30:49] 7 0.44%
lawngreen 50+ 141 8.97%
All colors 1571 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
349 1175 ImageReader::make_decoder call site: 01175 HdrDecoder::with_strictness
253 60 ImageBuffer::image_buffer_len call site: 00060 tests::test_image_outside_image_no_wrap_around
121 458 ::std::io::Result::channel_count call site: 00458 TgaDecoder::expand_color_map
111 973 BmpDecoder::read_palette call site: 00973 vertical_sample
70 669 R::read_exact_vec call site: 00669 Header::from_reader
60 389 Limits::check_dimensions call site: 00389 PCXReader::read_to_end
53 318 avif::AvifDecoder::new call site: 00318 TgaDecoder::expand_color_map
47 8 ImageReader::make_decoder call site: 00008 TgaDecoder::expand_color_map
41 919 BmpDecoder::read_metadata call site: 00919 FarbfeldReader::seek
40 615 tga::TgaDecoder::new call site: 00615 ImageReader::into_dimensions
29 585 tiff::TiffDecoder::new call site: 00585 Header::from_reader
24 1525 ImageReader::require_format call site: 01525 ImageDecoder::set_limits

Runtime coverage analysis

Covered functions
343
Functions that are reachable but not covered
2
Reachable functions
2
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz/fuzzers/fuzzer_script_ico.rs 2
src/images/dynimage.rs 3
src/error.rs 109
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 33
src/io/limits.rs 5
src/traits.rs 10
src/io/free_functions.rs 14
src/io/decoder.rs 11
src/codecs/tga/decoder.rs 14
src/images/buffer.rs 13
src/images/buffer_par.rs 1
src/animation.rs 17
src/codecs/farbfeld.rs 30
src/color.rs 12
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 8
src/images/flat.rs 2
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 20
src/codecs/pcx.rs 7
src/codecs/hdr/decoder.rs 55
src/codecs/tiff.rs 16
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/openexr.rs 15
src/utils/mod.rs 4
src/codecs/bmp/decoder.rs 50
src/imageops/sample.rs 25
src/codecs/ico/decoder.rs 14
src/codecs/pnm/decoder.rs 11
tests/limits_anim.rs 6
src/codecs/gif.rs 3

Fuzzer: fuzzer_script_tiff

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1521 96.8%
gold [1:9] 19 1.20%
yellow [10:29] 5 0.31%
greenyellow [30:49] 2 0.12%
lawngreen 50+ 24 1.52%
All colors 1571 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
578 576 err_unknown_color_type call site: 00576 BmpDecoder::read_metadata
357 1167 ImageReader::make_decoder call site: 01167 HdrDecoder::with_strictness
200 171 ImageDecoder::total_bytes call site: 00171 tests::test_image_outside_image_no_wrap_around
115 389 Limits::check_dimensions call site: 00389 TgaDecoder::expand_color_map
90 60 ImageBuffer::image_buffer_len call site: 00060 TgaDecoder::expand_color_map
41 8 ImageReader::make_decoder call site: 00008 Enlargeable::clamp_from
24 1525 ImageReader::require_format call site: 01525 ImageDecoder::set_limits
23 548 ImageError::from_tiff_decode call site: 00548 TgaDecoder::expand_color_map
20 1550 ImageReader::set_format call site: 01550 ImageDecoder::set_limits
18 506 ImageReader::make_decoder call site: 00506 TgaDecoder::expand_color_map
16 372 Limits::check_support call site: 00372 Limits::check_dimensions
10 1155 ImageReader::make_decoder call site: 01155

Runtime coverage analysis

Covered functions
530
Functions that are reachable but not covered
2
Reachable functions
2
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz/fuzzers/fuzzer_script_tiff.rs 2
src/images/dynimage.rs 3
src/error.rs 109
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 33
src/io/limits.rs 5
src/traits.rs 10
src/io/free_functions.rs 14
src/io/decoder.rs 11
src/codecs/tga/decoder.rs 14
src/images/buffer.rs 13
src/images/buffer_par.rs 1
src/animation.rs 17
src/codecs/farbfeld.rs 30
src/color.rs 12
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 8
src/images/flat.rs 2
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 20
src/codecs/pcx.rs 7
src/codecs/hdr/decoder.rs 55
src/codecs/tiff.rs 16
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/openexr.rs 15
src/utils/mod.rs 4
src/codecs/bmp/decoder.rs 50
src/imageops/sample.rs 25
src/codecs/ico/decoder.rs 14
src/codecs/pnm/decoder.rs 11
tests/limits_anim.rs 6
src/codecs/gif.rs 3

Fuzzer: fuzzer_script_tga

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1340 83.5%
gold [1:9] 67 4.17%
yellow [10:29] 29 1.80%
greenyellow [30:49] 29 1.80%
lawngreen 50+ 138 8.60%
All colors 1603 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
361 823 TgaDecoder::expand_color_map call site: 00823 BmpDecoder::read_bitmap_info_header
283 1185 hdr::HdrDecoder::new call site: 01185 HdrMetadata::update_header_info
201 388 avif::AvifDecoder::new call site: 00388 TgaDecoder::expand_color_map
133 191 ImageDecoder::total_bytes call site: 00191 tests::test_image_outside_image_no_wrap_around
81 24 image::codecs::tga::TgaDecoder::new call site: 00024 ImageReader::make_decoder
54 692 tga::TgaDecoder::new call site: 00692 Header::from_reader
51 750 DxtDecoder::new call site: 00750 BmpDecoder::read_metadata
36 1514 ico::IcoDecoder::new call site: 01514 ImageDecoder::set_limits
24 1470 farbfeld::FarbfeldDecoder::new call site: 01470 F::a::r::b::f::e::l::d::R::e::a::d::e::r::::::::n::e::w::read_dimm
18 1495 FarbfeldReader::new call site: 01495 Enlargeable::clamp_from
15 108 pcx::Reader::new call site: 00108 Enlargeable::clamp_from
11 340 avif::AvifDecoder::new call site: 00340

Runtime coverage analysis

Covered functions
38
Functions that are reachable but not covered
2
Reachable functions
7
Percentage of reachable functions covered
71.43%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz/fuzzers/fuzzer_script_tga.rs 2
tests/limits_anim.rs 5
src/error.rs 108
src/codecs/dds.rs 11
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 32
src/images/buffer.rs 13
src/images/buffer_par.rs 1
src/codecs/farbfeld.rs 30
src/color.rs 12
src/traits.rs 10
src/io/limits.rs 5
src/io/free_functions.rs 11
src/io/decoder.rs 11
src/codecs/tga/decoder.rs 14
src/animation.rs 17
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 8
src/images/flat.rs 2
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 20
src/codecs/pcx.rs 7
src/codecs/hdr/decoder.rs 55
src/codecs/tiff.rs 16
src/io.rs 10
src/codecs/openexr.rs 15
src/utils/mod.rs 4
src/codecs/bmp/decoder.rs 50
src/imageops/sample.rs 25
src/codecs/ico/decoder.rs 14
src/codecs/pnm/decoder.rs 11

Fuzzer: fuzzer_script_hdr

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1402 89.2%
gold [1:9] 23 1.46%
yellow [10:29] 4 0.25%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 142 9.03%
All colors 1571 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
421 733 crate::utils::check_dimension_overflow call site: 00733 BmpDecoder::read_metadata
311 60 ImageBuffer::image_buffer_len call site: 00060 tests::test_image_outside_image_no_wrap_around
197 474 zune_core::options::DecoderOptions::default call site: 00474 Header::from_reader
120 1324 HdrDecoder::with_strictness call site: 01324 Delay::closest_bounded_fraction
60 1447 utils::check_dimension_overflow call site: 01447 FarbfeldReader::new
58 389 Limits::check_dimensions call site: 00389 PCXReader::read_to_end
57 673 tga::TgaDecoder::new call site: 00673 Header::from_reader
35 20 Limits::default call site: 00020 TgaDecoder::expand_color_map
24 1525 ImageReader::require_format call site: 01525 ImageDecoder::set_limits
20 1155 ImageReader::make_decoder call site: 01155
20 1550 ImageReader::set_format call site: 01550 ImageDecoder::set_limits
15 1509 ImageReader::make_decoder call site: 01509

Runtime coverage analysis

Covered functions
84
Functions that are reachable but not covered
2
Reachable functions
2
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz/fuzzers/fuzzer_script_hdr.rs 2
src/images/dynimage.rs 3
src/error.rs 109
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 33
src/io/limits.rs 5
src/traits.rs 10
src/io/free_functions.rs 14
src/io/decoder.rs 11
src/codecs/tga/decoder.rs 14
src/images/buffer.rs 13
src/images/buffer_par.rs 1
src/animation.rs 17
src/codecs/farbfeld.rs 30
src/color.rs 12
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 8
src/images/flat.rs 2
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 20
src/codecs/pcx.rs 7
src/codecs/hdr/decoder.rs 55
src/codecs/tiff.rs 16
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/openexr.rs 15
src/utils/mod.rs 4
src/codecs/bmp/decoder.rs 50
src/imageops/sample.rs 25
src/codecs/ico/decoder.rs 14
src/codecs/pnm/decoder.rs 11
tests/limits_anim.rs 6
src/codecs/gif.rs 3

Fuzzer: fuzzer_script_jpeg

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1101 70.0%
gold [1:9] 107 6.81%
yellow [10:29] 31 1.97%
greenyellow [30:49] 9 0.57%
lawngreen 50+ 323 20.5%
All colors 1571 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
190 146 TgaDecoder::expand_color_map call site: 00146 tests::test_image_outside_image_no_wrap_around
111 973 BmpDecoder::read_palette call site: 00973 vertical_sample
73 1324 HdrDecoder::with_strictness call site: 01324 Delay::closest_bounded_fraction
66 458 ::std::io::Result::channel_count call site: 00458 TgaDecoder::expand_color_map
65 1459 pnm::PnmDecoder::new call site: 01459 FarbfeldReader::new
60 389 Limits::check_dimensions call site: 00389 PCXReader::read_to_end
56 669 R::read_exact_vec call site: 00669 Header::from_reader
44 8 ImageReader::make_decoder call site: 00008 TgaDecoder::expand_color_map
42 613 Header::from_reader call site: 00613 ImageReader::into_dimensions
41 919 BmpDecoder::read_metadata call site: 00919 FarbfeldReader::seek
39 94 ImageBuffer::inner_pixels call site: 00094 BmpDecoder::num_channels
24 576 err_unknown_color_type call site: 00576 Header::from_reader

Runtime coverage analysis

Covered functions
1411
Functions that are reachable but not covered
2
Reachable functions
2
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz/fuzzers/fuzzer_script_jpeg.rs 2
src/images/dynimage.rs 3
src/error.rs 109
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 33
src/io/limits.rs 5
src/traits.rs 10
src/io/free_functions.rs 14
src/io/decoder.rs 11
src/codecs/tga/decoder.rs 14
src/images/buffer.rs 13
src/images/buffer_par.rs 1
src/animation.rs 17
src/codecs/farbfeld.rs 30
src/color.rs 12
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 8
src/images/flat.rs 2
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 20
src/codecs/pcx.rs 7
src/codecs/hdr/decoder.rs 55
src/codecs/tiff.rs 16
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/openexr.rs 15
src/utils/mod.rs 4
src/codecs/bmp/decoder.rs 50
src/imageops/sample.rs 25
src/codecs/ico/decoder.rs 14
src/codecs/pnm/decoder.rs 11
tests/limits_anim.rs 6
src/codecs/gif.rs 3

Fuzzer: fuzzer_script_exr

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1161 71.2%
gold [1:9] 107 6.56%
yellow [10:29] 31 1.90%
greenyellow [30:49] 9 0.55%
lawngreen 50+ 322 19.7%
All colors 1630 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
182 179 TgaDecoder::expand_color_map call site: 00179 tests::test_image_outside_image_no_wrap_around
119 1510 ImageReader::require_format call site: 01510 Delay::closest_bounded_fraction
111 998 BmpDecoder::read_palette call site: 00998 vertical_sample
70 73 ImageBuffer::inner_pixels call site: 00073 TgaDecoder::expand_color_map
66 483 ::std::io::Result::channel_count call site: 00483 TgaDecoder::expand_color_map
65 1444 pnm::PnmDecoder::new call site: 01444 FarbfeldReader::new
60 414 Limits::check_dimensions call site: 00414 PCXReader::read_to_end
56 694 R::read_exact_vec call site: 00694 Header::from_reader
42 638 Header::from_reader call site: 00638 ImageReader::into_dimensions
41 944 BmpDecoder::read_metadata call site: 00944 FarbfeldReader::seek
39 19 ImageBuffer::inner_pixels_mut call site: 00019 ImageReader::make_decoder
33 1349 HdrDecoder::with_strictness call site: 01349 OpenExrDecoder::with_alpha_preference

Runtime coverage analysis

Covered functions
1411
Functions that are reachable but not covered
6
Reachable functions
8
Percentage of reachable functions covered
25.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz/fuzzers/fuzzer_script_exr.rs 20
src/codecs/openexr.rs 34
src/images/buffer.rs 13
src/error.rs 108
src/images/buffer_par.rs 1
src/animation.rs 17
src/traits.rs 10
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 32
src/codecs/farbfeld.rs 30
src/color.rs 15
src/io/limits.rs 5
src/io/free_functions.rs 11
src/io/decoder.rs 11
src/codecs/tga/decoder.rs 14
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 8
src/images/flat.rs 2
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 20
src/codecs/pcx.rs 7
src/codecs/hdr/decoder.rs 55
src/codecs/tiff.rs 16
src/codecs/dds.rs 11
src/io.rs 10
src/utils/mod.rs 4
src/codecs/bmp/decoder.rs 50
src/imageops/sample.rs 25
src/codecs/ico/decoder.rs 14
src/codecs/pnm/decoder.rs 11

Fuzzer: fuzzer_script_guess

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1162 71.2%
gold [1:9] 107 6.55%
yellow [10:29] 31 1.89%
greenyellow [30:49] 9 0.55%
lawngreen 50+ 323 19.7%
All colors 1632 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
190 151 TgaDecoder::expand_color_map call site: 00151 tests::test_image_outside_image_no_wrap_around
111 978 BmpDecoder::read_palette call site: 00978 vertical_sample
82 1530 ImageReader::require_format call site: 01530 FarbfeldReader::seek
73 1329 HdrDecoder::with_strictness call site: 01329 Delay::closest_bounded_fraction
66 463 ::std::io::Result::channel_count call site: 00463 TgaDecoder::expand_color_map
65 1464 pnm::PnmDecoder::new call site: 01464 FarbfeldReader::new
60 394 Limits::check_dimensions call site: 00394 PCXReader::read_to_end
56 674 R::read_exact_vec call site: 00674 Header::from_reader
44 13 ImageReader::make_decoder call site: 00013 TgaDecoder::expand_color_map
42 618 Header::from_reader call site: 00618 ImageReader::into_dimensions
41 924 BmpDecoder::read_metadata call site: 00924 FarbfeldReader::seek
39 99 ImageBuffer::inner_pixels call site: 00099 BmpDecoder::num_channels

Runtime coverage analysis

Covered functions
1411
Functions that are reachable but not covered
2
Reachable functions
2
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz/fuzzers/fuzzer_script_guess.rs 2
src/images/dynimage.rs 6
src/io/image_reader_type.rs 40
src/error.rs 109
src/codecs/avif/encoder.rs 5
src/io/limits.rs 5
src/traits.rs 10
src/io/free_functions.rs 24
src/io/decoder.rs 11
src/codecs/tga/decoder.rs 14
src/images/buffer.rs 13
src/images/buffer_par.rs 1
src/animation.rs 17
src/codecs/farbfeld.rs 30
src/color.rs 12
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 8
src/images/flat.rs 2
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 20
src/codecs/pcx.rs 7
src/codecs/hdr/decoder.rs 55
src/codecs/tiff.rs 16
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/openexr.rs 15
src/utils/mod.rs 4
src/codecs/bmp/decoder.rs 50
src/imageops/sample.rs 25
src/codecs/ico/decoder.rs 14
src/codecs/pnm/decoder.rs 11
src/codecs/gif.rs 9
tests/limits_anim.rs 6

Fuzz engine guidance

This sections provides heuristics that can be used as input to a fuzz engine when running a given fuzz target. The current focus is on providing input that is usable by libFuzzer.

fuzz/fuzzers/fuzzer_script_gif.rs

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['tiff::TiffDecoder::new', 'ImageReader::make_decoder', 'ImageBuffer::inner_pixels_mut', 'Box::read_image', 'Limits::check_dimensions', 'pcx::PCXDecoder::new', 'ImageReader::set_format', 'Limits::check_support']

fuzz/fuzzers/roundtrip_webp.rs

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['dds::DdsDecoder::new', 'ImageBuffer::inner_pixels', 'ImageReader::make_decoder', 'Limits::check_dimensions', 'pnm::PnmDecoder::new', 'ImageBuffer::from_raw', 'ImageReader::require_format', 'ImageReader::set_format', 'Limits::check_support']

fuzz/fuzzers/fuzzer_script_pnm.rs

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['crate::utils::check_dimension_overflow', 'ImageReader::make_decoder', 'ImageDecoder::total_bytes', 'zune_core::options::DecoderOptions::default', 'ImageBuffer::image_buffer_len', 'Limits::check_dimensions', 'pnm::PnmDecoder::new', 'Limits::default', 'dds::DdsDecoder::new', 'R::read_exact_vec']

fuzz/fuzzers/fuzzer_script_bmp.rs

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['ImageReader::make_decoder', 'ImageBuffer::image_buffer_len', 'zune_core::options::DecoderOptions::default', 'BmpDecoder::read_palette', 'Limits::check_dimensions', 'R::read_exact_vec', 'bmp::BmpDecoder::new', 'BmpDecoder::read_metadata', 'Limits::default', 'ImageReader::require_format']

fuzz/fuzzers/fuzzer_script_webp.rs

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['dds::DdsDecoder::new', 'ImageBuffer::image_buffer_len', 'ImageReader::make_decoder', 'Limits::check_dimensions', 'pnm::PnmDecoder::new', 'ImageReader::require_format', 'ImageReader::set_format', 'Limits::check_support']

fuzz/fuzzers/fuzzer_script_png.rs

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['DxtDecoder::new', 'ImageReader::make_decoder', 'ImageDecoder::total_bytes', 'tga::TgaDecoder::new', '::std::io::Result::channel_count', 'ImageBuffer::image_buffer_len', 'Limits::check_dimensions', 'avif::AvifDecoder::new', 'tiff::TiffDecoder::new']

fuzz/fuzzers/fuzzer_script_ico.rs

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['ImageReader::make_decoder', 'ImageBuffer::image_buffer_len', '::std::io::Result::channel_count', 'BmpDecoder::read_palette', 'R::read_exact_vec', 'Limits::check_dimensions', 'avif::AvifDecoder::new', 'BmpDecoder::read_metadata', 'tga::TgaDecoder::new']

fuzz/fuzzers/fuzzer_script_tiff.rs

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['err_unknown_color_type', 'ImageReader::make_decoder', 'ImageDecoder::total_bytes', 'Limits::check_dimensions', 'ImageBuffer::image_buffer_len', 'ImageReader::require_format', 'ImageError::from_tiff_decode', 'ImageReader::set_format']

fuzz/fuzzers/fuzzer_script_tga.rs

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['TgaDecoder::expand_color_map', 'hdr::HdrDecoder::new', 'avif::AvifDecoder::new', 'ImageDecoder::total_bytes', 'image::codecs::tga::TgaDecoder::new', 'tga::TgaDecoder::new', 'DxtDecoder::new', 'ico::IcoDecoder::new', 'farbfeld::FarbfeldDecoder::new', 'FarbfeldReader::new']

fuzz/fuzzers/fuzzer_script_hdr.rs

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['crate::utils::check_dimension_overflow', 'ImageBuffer::image_buffer_len', 'zune_core::options::DecoderOptions::default', 'HdrDecoder::with_strictness', 'utils::check_dimension_overflow', 'Limits::check_dimensions', 'tga::TgaDecoder::new', 'Limits::default', 'ImageReader::require_format', 'ImageReader::make_decoder']

fuzz/fuzzers/fuzzer_script_jpeg.rs

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['TgaDecoder::expand_color_map', 'BmpDecoder::read_palette', 'HdrDecoder::with_strictness', '::std::io::Result::channel_count', 'pnm::PnmDecoder::new', 'Limits::check_dimensions', 'R::read_exact_vec', 'ImageReader::make_decoder', 'Header::from_reader', 'BmpDecoder::read_metadata']

fuzz/fuzzers/fuzzer_script_exr.rs

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['TgaDecoder::expand_color_map', 'ImageReader::require_format', 'BmpDecoder::read_palette', 'ImageBuffer::inner_pixels', '::std::io::Result::channel_count', 'pnm::PnmDecoder::new', 'Limits::check_dimensions', 'R::read_exact_vec', 'Header::from_reader', 'BmpDecoder::read_metadata']

fuzz/fuzzers/fuzzer_script_guess.rs

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['TgaDecoder::expand_color_map', 'BmpDecoder::read_palette', 'ImageReader::require_format', 'HdrDecoder::with_strictness', '::std::io::Result::channel_count', 'pnm::PnmDecoder::new', 'Limits::check_dimensions', 'R::read_exact_vec', 'ImageReader::make_decoder', 'Header::from_reader']

Files and Directories in report

This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link

Files in report

Source file Reached by Covered by
/src/image/src/codecs/jpeg/encoder.rs [] []
/src/image/src/imageops/filter_1d.rs [] []
/src/image/src/codecs/tiff.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/fuzz-afl/reproducers/reproduce_pnm.rs [] []
/src/image/fuzz/fuzzers/fuzzer_script_gif.rs ['fuzzer_script_gif'] []
/src/image/src/codecs/pcx.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/fuzz/fuzzers/fuzzer_script_tga.rs ['fuzzer_script_tga'] ['fuzzer_script_tga']
/src/image/tests/limits_anim.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_guess'] []
/src/image/src/io/image_reader_type.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/codecs/avif/encoder.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/tests/limits.rs [] []
/src/image/src/images/sub_image.rs [] []
/src/image/src/metadata.rs [] []
/src/image/src/codecs/pnm/header.rs [] []
/src/image/src/codecs/avif/decoder.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/examples/concat/main.rs [] []
/src/image/examples/scaledown/main.rs [] []
/src/image/benches/copy_from.rs [] []
/src/image/src/codecs/webp/decoder.rs [] []
/src/image/src/images/flat.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/io/limits.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/codecs/dds.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/codecs/qoi.rs [] []
/src/image/src/math/utils.rs [] []
/src/image/src/codecs/farbfeld.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/codecs/hdr/encoder.rs [] []
/src/image/src/images/buffer_par.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/codecs/gif.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_guess']
/src/image/fuzz/fuzzers/fuzzer_script_ico.rs ['fuzzer_script_ico'] []
/src/image/src/codecs/bmp/encoder.rs [] []
/src/image/benches/decode.rs [] []
/src/image/src/codecs/png.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/tests/truncate_images.rs [] []
/src/image/src/codecs/jpeg/entropy.rs [] []
/src/image/benches/blur.rs [] []
/src/image/tests/conversions.rs [] []
/src/image/fuzz/fuzzers/fuzzer_script_guess.rs ['fuzzer_script_guess'] []
/src/image/fuzz/fuzzers/fuzzer_script_exr.rs ['fuzzer_script_exr'] []
/src/image/src/error.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/codecs/pnm/autobreak.rs [] []
/src/image/tests/reference_images.rs [] []
/src/image/src/utils/mod.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_pnm', 'fuzzer_script_tiff', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/codecs/webp/encoder.rs [] []
/src/image/src/imageops/fast_blur.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] []
/src/image/src/codecs/pnm/mod.rs [] []
/src/image/src/codecs/tga/header.rs ['roundtrip_webp'] ['roundtrip_webp']
/src/image/src/codecs/hdr/decoder.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/codecs/pnm/encoder.rs [] []
/src/image/src/color.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/codecs/ico/decoder.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/benches/encode.rs [] []
/src/image/src/codecs/bmp/decoder.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/codecs/openexr.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/codecs/jpeg/transform.rs [] []
/src/image/fuzz/fuzzers/fuzzer_script_jpeg.rs ['fuzzer_script_jpeg'] []
/src/image/tests/save_jpeg.rs [] []
/src/image/fuzz-afl/reproducers/utils.rs [] []
/src/image/src/images/generic_image.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/io/format.rs [] []
/src/image/src/lib.rs [] []
/src/image/src/codecs/jpeg/decoder.rs [] []
/src/image/src/imageops/colorops.rs [] []
/src/image/src/io.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_ico', 'fuzzer_script_tga', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/fuzz-afl/reproducers/reproduce_webp.rs [] []
/src/image/src/codecs/dxt.rs [] []
/src/image/src/codecs/tga/encoder.rs [] []
/src/image/src/codecs/tga/decoder.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/fuzz/fuzzers/fuzzer_script_png.rs ['fuzzer_script_png'] []
/src/image/fuzz/fuzzers/fuzzer_script_hdr.rs ['fuzzer_script_hdr'] []
/src/image/fuzz/fuzzers/fuzzer_script_pnm.rs ['fuzzer_script_pnm'] []
/src/image/fuzz/fuzzers/fuzzer_script_bmp.rs ['fuzzer_script_bmp'] []
/src/image/src/codecs/avif/yuv.rs [] []
/src/image/src/io/decoder.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/fuzz/fuzzers/fuzzer_script_webp.rs ['fuzzer_script_webp'] []
/src/image/fuzz/fuzzers/fuzzer_script_tiff.rs ['fuzzer_script_tiff'] []
/src/image/src/io/encoder.rs [] []
/src/image/src/codecs/avif/ycgco.rs [] []
/src/image/src/imageops/sample.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/animation.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/fuzz/fuzzers/roundtrip_webp.rs ['roundtrip_webp'] []
/src/image/src/codecs/pnm/decoder.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/codecs/ico/encoder.rs [] []
/src/image/src/traits.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['roundtrip_webp', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/tests/save_pnm.rs [] []
/src/image/src/io/free_functions.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] []
/src/image/tests/regression.rs [] []
/src/image/src/imageops/mod.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] []
/src/image/src/images/dynimage.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_guess']
/src/image/src/images/buffer.rs ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess'] ['fuzzer_script_gif', 'roundtrip_webp', 'fuzzer_script_pnm', 'fuzzer_script_bmp', 'fuzzer_script_webp', 'fuzzer_script_png', 'fuzzer_script_ico', 'fuzzer_script_tiff', 'fuzzer_script_tga', 'fuzzer_script_hdr', 'fuzzer_script_jpeg', 'fuzzer_script_exr', 'fuzzer_script_guess']
/src/image/src/imageops/affine.rs [] []

Directories in report

Directory
/src/image/fuzz/fuzzers/
/src/image/fuzz-afl/reproducers/
/src/image/src/codecs/pnm/
/src/image/src/images/
/src/image/src/utils/
/src/image/src/codecs/hdr/
/src/image/src/io/
/src/image/src/math/
/src/image/src/codecs/bmp/
/src/image/src/codecs/webp/
/src/image/src/codecs/jpeg/
/src/image/src/
/src/image/examples/scaledown/
/src/image/src/codecs/
/src/image/src/imageops/
/src/image/src/codecs/tga/
/src/image/src/codecs/avif/
/src/image/benches/
/src/image/examples/concat/
/src/image/tests/
/src/image/src/codecs/ico/

Metadata section

This sections shows the raw data that is used to produce this report. This is mainly used for further processing and developer debugging.

Fuzzer Calltree file Program data file Coverage file
fuzzer_script_gif fuzzerLogFile-fuzzer_script_gif.data fuzzerLogFile-fuzzer_script_gif.data.yaml fuzzer_script_gif.covreport
roundtrip_webp fuzzerLogFile-roundtrip_webp.data fuzzerLogFile-roundtrip_webp.data.yaml roundtrip_webp.covreport
fuzzer_script_pnm fuzzerLogFile-fuzzer_script_pnm.data fuzzerLogFile-fuzzer_script_pnm.data.yaml fuzzer_script_pnm.covreport
fuzzer_script_bmp fuzzerLogFile-fuzzer_script_bmp.data fuzzerLogFile-fuzzer_script_bmp.data.yaml fuzzer_script_bmp.covreport
fuzzer_script_webp fuzzerLogFile-fuzzer_script_webp.data fuzzerLogFile-fuzzer_script_webp.data.yaml fuzzer_script_webp.covreport
fuzzer_script_png fuzzerLogFile-fuzzer_script_png.data fuzzerLogFile-fuzzer_script_png.data.yaml fuzzer_script_png.covreport
fuzzer_script_ico fuzzerLogFile-fuzzer_script_ico.data fuzzerLogFile-fuzzer_script_ico.data.yaml fuzzer_script_ico.covreport
fuzzer_script_tiff fuzzerLogFile-fuzzer_script_tiff.data fuzzerLogFile-fuzzer_script_tiff.data.yaml fuzzer_script_tiff.covreport
fuzzer_script_tga fuzzerLogFile-fuzzer_script_tga.data fuzzerLogFile-fuzzer_script_tga.data.yaml fuzzer_script_tga.covreport
fuzzer_script_hdr fuzzerLogFile-fuzzer_script_hdr.data fuzzerLogFile-fuzzer_script_hdr.data.yaml fuzzer_script_hdr.covreport
fuzzer_script_jpeg fuzzerLogFile-fuzzer_script_jpeg.data fuzzerLogFile-fuzzer_script_jpeg.data.yaml fuzzer_script_webp.covreport , fuzzer_script_bmp.covreport , fuzzer_script_tga.covreport , fuzzer_script_gif.covreport , fuzzer_script_pnm.covreport , fuzzer_script_tiff.covreport , fuzzer_script_ico.covreport , roundtrip_webp.covreport , fuzzer_script_hdr.covreport , fuzzer_script_png.covreport
fuzzer_script_exr fuzzerLogFile-fuzzer_script_exr.data fuzzerLogFile-fuzzer_script_exr.data.yaml fuzzer_script_webp.covreport , fuzzer_script_bmp.covreport , fuzzer_script_tga.covreport , fuzzer_script_gif.covreport , fuzzer_script_pnm.covreport , fuzzer_script_tiff.covreport , fuzzer_script_ico.covreport , roundtrip_webp.covreport , fuzzer_script_hdr.covreport , fuzzer_script_png.covreport
fuzzer_script_guess fuzzerLogFile-fuzzer_script_guess.data fuzzerLogFile-fuzzer_script_guess.data.yaml fuzzer_script_webp.covreport , fuzzer_script_bmp.covreport , fuzzer_script_tga.covreport , fuzzer_script_gif.covreport , fuzzer_script_pnm.covreport , fuzzer_script_tiff.covreport , fuzzer_script_ico.covreport , roundtrip_webp.covreport , fuzzer_script_hdr.covreport , fuzzer_script_png.covreport