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

Project overview: image-rs

High level conclusions

Reachability and coverage overview

Functions statically reachable by fuzzers
0.0%
5 / 1575
Cyclomatic complexity statically reachable by fuzzers
1.0%
11 / 2145
Runtime code coverage of functions
30.0%
480 / 1575

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 1624 97.8%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 36 2.16%
All colors 1660 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
664 610 tiff::TiffDecoder::new call site: 00610 BmpDecoder::read_metadata
256 245 ImageReader::make_decoder call site: 00245 tests::test_image_outside_image_no_wrap_around
183 1281 ImageReader::make_decoder call site: 01281 HdrDecoder::with_strictness
146 98 ImageBuffer::inner_pixels_mut call site: 00098 Orientation::locate_orientation_entry
146 1466 gcd call site: 01466 Delay::closest_bounded_fraction
87 0 EP call site: 00000 ImageReader::make_decoder
36 519 Limits::check_dimensions call site: 00519
24 557 ImageReader::make_decoder call site: 00557
18 1641 ImageReader::set_format call site: 01641 ImageDecoder::set_limits
17 1622 ImageDecoder::set_limits call site: 01622 TgaDecoder::expand_color_map
16 502 Limits::check_support call site: 00502 Limits::check_dimensions
12 594 jpeg::JpegDecoder::new call site: 00594

Runtime coverage analysis

Covered functions
174
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 107
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 42
src/hooks.rs 14
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/animation.rs 18
src/codecs/farbfeld.rs 9
src/color.rs 15
src/io/format.rs 2
src/utils/mod.rs 4
src/io/free_functions.rs 14
src/io/decoder.rs 10
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 5
src/codecs/tiff.rs 15
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/hdr/decoder.rs 55
src/codecs/openexr.rs 15
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 1465 88.2%
gold [1:9] 40 2.40%
yellow [10:29] 17 1.02%
greenyellow [30:49] 11 0.66%
lawngreen 50+ 127 7.65%
All colors 1660 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
319 1293 ImageReader::make_decoder call site: 01293 HdrDecoder::with_strictness
188 575 zune_core::options::DecoderOptions::default call site: 00575 Header::from_reader
177 324 ImageDecoder::total_bytes call site: 00324 tests::test_image_outside_image_no_wrap_around
152 92 ImageBuffer::image_buffer_len call site: 00092 Orientation::locate_orientation_entry
117 1065 BmpDecoder::read_palette call site: 01065 vertical_sample
88 795 R::read_exact_vec call site: 00795 Header::from_reader
87 0 EP call site: 00000 ImageReader::make_decoder
69 1205 bmp::BmpDecoder::new call site: 01205 ImageReader::make_decoder
56 245 ImageReader::make_decoder call site: 00245 FarbfeldReader::new
55 519 Limits::check_dimensions call site: 00519
22 926 check_for_overflow call site: 00926 ColorMap::get
18 1641 ImageReader::set_format call site: 01641 ImageDecoder::set_limits

Runtime coverage analysis

Covered functions
118
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 107
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 42
src/hooks.rs 14
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/animation.rs 18
src/codecs/farbfeld.rs 9
src/color.rs 15
src/io/format.rs 2
src/utils/mod.rs 4
src/io/free_functions.rs 14
src/io/decoder.rs 10
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 5
src/codecs/tiff.rs 15
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/hdr/decoder.rs 55
src/codecs/openexr.rs 15
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_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 1537 92.5%
gold [1:9] 10 0.60%
yellow [10:29] 4 0.24%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 109 6.56%
All colors 1660 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
405 869 dds::DdsDecoder::new call site: 00869 BmpDecoder::read_metadata
244 1275 ImageReader::make_decoder call site: 01275 HdrDecoder::with_strictness
188 575 zune_core::options::DecoderOptions::default call site: 00575 Header::from_reader
177 324 ImageDecoder::total_bytes call site: 00324 tests::test_image_outside_image_no_wrap_around
152 92 ImageBuffer::image_buffer_len call site: 00092 Orientation::locate_orientation_entry
87 0 EP call site: 00000 ImageReader::make_decoder
55 519 Limits::check_dimensions call site: 00519
46 795 R::read_exact_vec call site: 00795 Header::from_reader
30 245 ImageReader::make_decoder call site: 00245 FarbfeldReader::new
23 278 crate::utils::check_dimension_overflow call site: 00278 ExtendedColorType::color_type
18 1583 pnm::PnmDecoder::new call site: 01583 FarbfeldReader::new
18 1641 ImageReader::set_format call site: 01641 ImageDecoder::set_limits

Runtime coverage analysis

Covered functions
188
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 107
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 42
src/hooks.rs 14
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/animation.rs 18
src/codecs/farbfeld.rs 9
src/color.rs 15
src/io/format.rs 2
src/utils/mod.rs 4
src/io/free_functions.rs 14
src/io/decoder.rs 10
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 5
src/codecs/tiff.rs 15
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/hdr/decoder.rs 55
src/codecs/openexr.rs 15
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 1457 87.7%
gold [1:9] 41 2.46%
yellow [10:29] 14 0.84%
greenyellow [30:49] 5 0.30%
lawngreen 50+ 143 8.61%
All colors 1660 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
317 1295 ImageReader::make_decoder call site: 01295 HdrDecoder::with_strictness
244 519 Limits::check_dimensions call site: 00519 Header::from_reader
177 324 ImageDecoder::total_bytes call site: 00324 tests::test_image_outside_image_no_wrap_around
152 92 ImageBuffer::image_buffer_len call site: 00092 Orientation::locate_orientation_entry
117 1065 BmpDecoder::read_palette call site: 01065 vertical_sample
92 795 R::read_exact_vec call site: 00795 BmpDecoder::read_metadata
87 0 EP call site: 00000 ImageReader::make_decoder
37 245 ImageReader::make_decoder call site: 00245 FarbfeldReader::new
22 926 check_for_overflow call site: 00926 ColorMap::get
21 1207 ImageReader::make_decoder call site: 01207 read_entries
18 283 FarbfeldReader::new call site: 00283 ExtendedColorType::color_type
18 1275 ImageReader::make_decoder call site: 01275

Runtime coverage analysis

Covered functions
369
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 107
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 42
src/hooks.rs 14
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/animation.rs 18
src/codecs/farbfeld.rs 9
src/color.rs 15
src/io/format.rs 2
src/utils/mod.rs 4
src/io/free_functions.rs 14
src/io/decoder.rs 10
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 5
src/codecs/tiff.rs 15
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/hdr/decoder.rs 55
src/codecs/openexr.rs 15
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 1630 98.1%
gold [1:9] 0 0.0%
yellow [10:29] 5 0.30%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 25 1.50%
All colors 1660 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
499 775 ::std::io::Result::channel_count call site: 00775 BmpDecoder::read_metadata
333 1279 ImageReader::make_decoder call site: 01279 HdrDecoder::with_strictness
247 519 Limits::check_dimensions call site: 00519 Header::from_reader
174 324 ImageDecoder::total_bytes call site: 00324 tests::test_image_outside_image_no_wrap_around
152 92 ImageBuffer::image_buffer_len call site: 00092 Orientation::locate_orientation_entry
87 0 EP call site: 00000 ImageReader::make_decoder
37 245 ImageReader::make_decoder call site: 00245 FarbfeldReader::new
24 1615 ImageReader::require_format call site: 01615 ImageDecoder::set_limits
18 283 FarbfeldReader::new call site: 00283 ExtendedColorType::color_type
18 1641 ImageReader::set_format call site: 01641 ImageDecoder::set_limits
16 502 Limits::check_support call site: 00502 Limits::check_dimensions
10 312 ImageDecoder::total_bytes call site: 00312

Runtime coverage analysis

Covered functions
357
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 107
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 42
src/hooks.rs 14
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/animation.rs 18
src/codecs/farbfeld.rs 9
src/color.rs 15
src/io/format.rs 2
src/utils/mod.rs 4
src/io/free_functions.rs 14
src/io/decoder.rs 10
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 5
src/codecs/tiff.rs 15
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/hdr/decoder.rs 55
src/codecs/openexr.rs 15
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 1610 96.9%
gold [1:9] 16 0.96%
yellow [10:29] 5 0.30%
greenyellow [30:49] 2 0.12%
lawngreen 50+ 27 1.62%
All colors 1660 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
594 680 err_unknown_color_type call site: 00680 BmpDecoder::read_metadata
314 1298 hdr::HdrDecoder::new call site: 01298 HdrMetadata::update_header_info
177 324 ImageDecoder::total_bytes call site: 00324 tests::test_image_outside_image_no_wrap_around
152 92 ImageBuffer::image_buffer_len call site: 00092 Orientation::locate_orientation_entry
87 0 EP call site: 00000 ImageReader::make_decoder
85 519 Limits::check_dimensions call site: 00519 TgaDecoder::expand_color_map
56 245 ImageReader::make_decoder call site: 00245 FarbfeldReader::new
24 1615 ImageReader::require_format call site: 01615 ImageDecoder::set_limits
23 606 ImageReader::make_decoder call site: 00606 FarbfeldDecoder::new
23 652 ImageError::from_tiff_decode call site: 00652 TgaDecoder::expand_color_map
18 1641 ImageReader::set_format call site: 01641 ImageDecoder::set_limits
16 502 Limits::check_support call site: 00502 Limits::check_dimensions

Runtime coverage analysis

Covered functions
632
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 107
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 42
src/hooks.rs 14
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/animation.rs 18
src/codecs/farbfeld.rs 9
src/color.rs 15
src/io/format.rs 2
src/utils/mod.rs 4
src/io/free_functions.rs 14
src/io/decoder.rs 10
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 5
src/codecs/tiff.rs 15
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/hdr/decoder.rs 55
src/codecs/openexr.rs 15
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 1641 98.8%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 19 1.14%
All colors 1660 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
676 598 ImageReader::make_decoder call site: 00598 BmpDecoder::read_metadata
256 245 ImageReader::make_decoder call site: 00245 tests::test_image_outside_image_no_wrap_around
179 1285 ImageReader::make_decoder call site: 01285 HdrDecoder::with_strictness
152 92 ImageBuffer::image_buffer_len call site: 00092 Orientation::locate_orientation_entry
147 1465 Ratio::new call site: 01465 Delay::closest_bounded_fraction
87 0 EP call site: 00000 ImageReader::make_decoder
77 519 Limits::check_dimensions call site: 00519 TgaDecoder::expand_color_map
24 1615 ImageReader::require_format call site: 01615 ImageDecoder::set_limits
18 1641 ImageReader::set_format call site: 01641 ImageDecoder::set_limits
16 502 Limits::check_support call site: 00502 Limits::check_dimensions
8 1275 ImageReader::make_decoder call site: 01275
1 1613 ImageReader::require_format call site: 01613

Runtime coverage analysis

Covered functions
337
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 107
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 42
src/hooks.rs 14
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/animation.rs 18
src/codecs/farbfeld.rs 9
src/color.rs 15
src/io/format.rs 2
src/utils/mod.rs 4
src/io/free_functions.rs 14
src/io/decoder.rs 10
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 5
src/codecs/tiff.rs 15
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/hdr/decoder.rs 55
src/codecs/openexr.rs 15
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_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 1491 89.8%
gold [1:9] 23 1.38%
yellow [10:29] 4 0.24%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 142 8.55%
All colors 1660 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
493 781 io::Result::len call site: 00781 BmpDecoder::read_metadata
223 278 crate::utils::check_dimension_overflow call site: 00278 tests::test_image_outside_image_no_wrap_around
189 575 zune_core::options::DecoderOptions::default call site: 00575 Header::from_reader
152 92 ImageBuffer::image_buffer_len call site: 00092 Orientation::locate_orientation_entry
125 1445 HdrDecoder::with_strictness call site: 01445 Delay::closest_bounded_fraction
87 0 EP call site: 00000 ImageReader::make_decoder
55 519 Limits::check_dimensions call site: 00519
30 245 ImageReader::make_decoder call site: 00245 FarbfeldReader::new
24 1573 utils::check_dimension_overflow call site: 01573 FarbfeldReader::new
22 1615 ImageReader::require_format call site: 01615 ImageDecoder::set_limits
20 1275 ImageReader::make_decoder call site: 01275
18 1641 ImageReader::set_format call site: 01641 ImageDecoder::set_limits

Runtime coverage analysis

Covered functions
89
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 107
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 42
src/hooks.rs 14
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/animation.rs 18
src/codecs/farbfeld.rs 9
src/color.rs 15
src/io/format.rs 2
src/utils/mod.rs 4
src/io/free_functions.rs 14
src/io/decoder.rs 10
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 5
src/codecs/tiff.rs 15
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/hdr/decoder.rs 55
src/codecs/openexr.rs 15
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 1422 83.8%
gold [1:9] 67 3.95%
yellow [10:29] 20 1.17%
greenyellow [30:49] 13 0.76%
lawngreen 50+ 174 10.2%
All colors 1696 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
287 1302 hdr::HdrDecoder::new call site: 01302 HdrMetadata::update_header_info
259 952 TgaDecoder::expand_color_map call site: 00952 BmpDecoder::read_bitmap_info_header
131 341 ImageDecoder::total_bytes call site: 00341 tests::test_image_outside_image_no_wrap_around
109 515 avif::AvifDecoder::new call site: 00515 FarbfeldDecoder::new
71 626 FarbfeldDecoder::new call site: 00626 TgaDecoder::expand_color_map
69 34 ColorMap::get call site: 00034 Orientation::locate_orientation_entry
59 815 tga::TgaDecoder::new call site: 00815 Header::from_reader
52 878 DxtDecoder::new call site: 00878 BmpDecoder::read_metadata
51 133 TgaDecoder::expand_color_map call site: 00133 ImageReader::into_dimensions
37 1264 ico::IcoDecoder::new call site: 01264 register_decoding_hook
35 1601 ico::IcoDecoder::new call site: 01601 ImageDecoder::set_limits
31 1232 ico::IcoDecoder::new call site: 01232 Enlargeable::clamp_from

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 105
src/codecs/dds.rs 11
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 40
src/hooks.rs 14
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/animation.rs 18
src/codecs/farbfeld.rs 9
src/color.rs 15
src/io/format.rs 2
src/utils/mod.rs 4
src/io/free_functions.rs 11
src/io/decoder.rs 10
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 5
src/codecs/tiff.rs 15
src/io.rs 10
src/codecs/hdr/decoder.rs 55
src/codecs/openexr.rs 15
src/codecs/bmp/decoder.rs 50
src/imageops/sample.rs 25
src/codecs/ico/decoder.rs 14
src/codecs/pnm/decoder.rs 11

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 1679 98.3%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 28 1.64%
All colors 1707 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
667 603 ImageReader::make_decoder call site: 00603 BmpDecoder::read_metadata
256 250 ImageReader::make_decoder call site: 00250 tests::test_image_outside_image_no_wrap_around
204 45 ImageBuffer::inner_pixels call site: 00045 Orientation::locate_orientation_entry
179 1281 ImageReader::make_decoder call site: 01281 HdrDecoder::with_strictness
147 1461 Ratio::new call site: 01461 Delay::closest_bounded_fraction
77 524 Limits::check_dimensions call site: 00524 TgaDecoder::expand_color_map
30 1655 ImageBuffer::from_raw call site: 01655 Header::write_to
29 1611 ImageReader::require_format call site: 01611 ImageDecoder::set_limits
27 0 EP call site: 00000 ImageReader::make_decoder
19 1687 ImageReader::set_format call site: 01687 ImageDecoder::set_limits
16 507 Limits::check_support call site: 00507 Limits::check_dimensions
11 32 ImageBuffer::image_buffer_len call site: 00032

Runtime coverage analysis

Covered functions
147
Functions that are reachable but not covered
8
Reachable functions
17
Percentage of reachable functions covered
52.94%
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 15
src/codecs/avif/encoder.rs 9
src/io/image_reader_type.rs 42
src/hooks.rs 14
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
src/error.rs 107
src/images/buffer.rs 16
src/images/buffer_par.rs 1
src/codecs/farbfeld.rs 9
src/traits.rs 10
src/metadata.rs 15
src/animation.rs 18
src/io/format.rs 2
src/utils/mod.rs 4
src/io/free_functions.rs 14
src/io/decoder.rs 10
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 5
src/codecs/tiff.rs 15
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/openexr.rs 15
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_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 1195 71.9%
gold [1:9] 71 4.27%
yellow [10:29] 28 1.68%
greenyellow [30:49] 7 0.42%
lawngreen 50+ 359 21.6%
All colors 1660 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
220 278 crate::utils::check_dimension_overflow call site: 00278 tests::test_image_outside_image_no_wrap_around
117 1065 BmpDecoder::read_palette call site: 01065 vertical_sample
110 519 Limits::check_dimensions call site: 00519 FarbfeldDecoder::new
92 795 R::read_exact_vec call site: 00795 BmpDecoder::read_metadata
69 15 ColorMap::get call site: 00015 Orientation::locate_orientation_entry
56 1466 gcd call site: 01466 Delay::closest_bounded_fraction
46 717 Header::from_reader call site: 00717 ImageReader::into_dimensions
39 128 ImageBuffer::inner_pixels call site: 00128 BmpDecoder::num_channels
39 1573 utils::check_dimension_overflow call site: 01573 FarbfeldReader::new
30 245 ImageReader::make_decoder call site: 00245 FarbfeldReader::new
28 180 TgaDecoder::expand_color_map call site: 00180 Orientation::locate_orientation_entry
25 680 err_unknown_color_type call site: 00680 Header::from_reader

Runtime coverage analysis

Covered functions
1544
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 107
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 42
src/hooks.rs 14
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/animation.rs 18
src/codecs/farbfeld.rs 9
src/color.rs 15
src/io/format.rs 2
src/utils/mod.rs 4
src/io/free_functions.rs 14
src/io/decoder.rs 10
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 5
src/codecs/tiff.rs 15
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/hdr/decoder.rs 55
src/codecs/openexr.rs 15
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_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 1290 73.5%
gold [1:9] 71 4.04%
yellow [10:29] 28 1.59%
greenyellow [30:49] 7 0.39%
lawngreen 50+ 359 20.4%
All colors 1755 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
220 281 crate::utils::check_dimension_overflow call site: 00281 tests::test_image_outside_image_no_wrap_around
117 1068 BmpDecoder::read_palette call site: 01068 vertical_sample
116 1618 ImageReader::require_format call site: 01618 ImageDecoder::set_limits
110 522 Limits::check_dimensions call site: 00522 FarbfeldDecoder::new
92 798 R::read_exact_vec call site: 00798 BmpDecoder::read_metadata
68 21 ColorMap::get call site: 00021 Orientation::locate_orientation_entry
56 1469 gcd call site: 01469 Delay::closest_bounded_fraction
46 720 Header::from_reader call site: 00720 ImageReader::into_dimensions
39 133 ImageBuffer::inner_pixels call site: 00133 BmpDecoder::num_channels
39 1576 utils::check_dimension_overflow call site: 01576 FarbfeldReader::new
30 248 ImageReader::make_decoder call site: 00248 FarbfeldReader::new
26 185 TgaDecoder::expand_color_map call site: 00185 Orientation::locate_orientation_entry

Runtime coverage analysis

Covered functions
1544
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 59
src/hooks.rs 14
src/error.rs 107
src/codecs/avif/encoder.rs 5
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/animation.rs 18
src/codecs/farbfeld.rs 9
src/color.rs 15
src/io/format.rs 2
src/utils/mod.rs 4
src/io/free_functions.rs 24
src/io/decoder.rs 10
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 5
src/codecs/tiff.rs 15
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/hdr/decoder.rs 55
src/codecs/openexr.rs 15
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

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 1264 73.1%
gold [1:9] 71 4.11%
yellow [10:29] 28 1.62%
greenyellow [30:49] 7 0.40%
lawngreen 50+ 357 20.6%
All colors 1727 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
220 307 crate::utils::check_dimension_overflow call site: 00307 tests::test_image_outside_image_no_wrap_around
126 1600 ImageReader::require_format call site: 01600 Delay::closest_bounded_fraction
117 1094 BmpDecoder::read_palette call site: 01094 vertical_sample
110 548 Limits::check_dimensions call site: 00548 FarbfeldDecoder::new
92 824 R::read_exact_vec call site: 00824 BmpDecoder::read_metadata
81 92 ImageBuffer::inner_pixels call site: 00092 Orientation::locate_orientation_entry
46 746 Header::from_reader call site: 00746 ImageReader::into_dimensions
39 1558 utils::check_dimension_overflow call site: 01558 FarbfeldReader::new
33 37 gcd call site: 00037 ImageReader::make_decoder
33 1474 HdrDecoder::with_strictness call site: 01474 OpenExrDecoder::with_alpha_preference
30 274 ImageReader::make_decoder call site: 00274 FarbfeldReader::new
28 209 TgaDecoder::expand_color_map call site: 00209 Orientation::locate_orientation_entry

Runtime coverage analysis

Covered functions
1544
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 36
src/hooks.rs 14
src/images/buffer.rs 14
src/error.rs 105
src/images/buffer_par.rs 1
src/animation.rs 18
src/traits.rs 10
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 40
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
src/codecs/farbfeld.rs 9
src/color.rs 19
src/metadata.rs 15
src/io/format.rs 2
src/utils/mod.rs 4
src/io/free_functions.rs 11
src/io/decoder.rs 10
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 5
src/codecs/tiff.rs 15
src/codecs/dds.rs 11
src/io.rs 10
src/codecs/hdr/decoder.rs 55
src/codecs/bmp/decoder.rs 50
src/imageops/sample.rs 25
src/codecs/ico/decoder.rs 14
src/codecs/pnm/decoder.rs 11

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', 'gcd', 'Limits::check_dimensions', 'ImageReader::set_format', 'ImageDecoder::set_limits']

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', 'zune_core::options::DecoderOptions::default', 'ImageDecoder::total_bytes', 'ImageBuffer::image_buffer_len', 'BmpDecoder::read_palette', 'R::read_exact_vec', 'bmp::BmpDecoder::new', 'Limits::check_dimensions']

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=['dds::DdsDecoder::new', 'ImageReader::make_decoder', 'zune_core::options::DecoderOptions::default', 'ImageDecoder::total_bytes', 'ImageBuffer::image_buffer_len', 'Limits::check_dimensions', 'R::read_exact_vec', 'crate::utils::check_dimension_overflow']

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', 'Limits::check_dimensions', 'ImageDecoder::total_bytes', 'ImageBuffer::image_buffer_len', 'BmpDecoder::read_palette', 'R::read_exact_vec', 'check_for_overflow']

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=['::std::io::Result::channel_count', 'ImageReader::make_decoder', 'Limits::check_dimensions', 'ImageDecoder::total_bytes', 'ImageBuffer::image_buffer_len', 'ImageReader::require_format', 'FarbfeldReader::new', 'ImageReader::set_format']

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', 'hdr::HdrDecoder::new', 'ImageDecoder::total_bytes', 'ImageBuffer::image_buffer_len', 'Limits::check_dimensions', 'ImageReader::make_decoder', 'ImageReader::require_format', 'ImageError::from_tiff_decode']

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=['ImageReader::make_decoder', 'ImageBuffer::image_buffer_len', 'Ratio::new', 'Limits::check_dimensions', 'ImageReader::require_format', 'ImageReader::set_format', 'Limits::check_support']

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=['io::Result::len', 'crate::utils::check_dimension_overflow', 'zune_core::options::DecoderOptions::default', 'ImageBuffer::image_buffer_len', 'HdrDecoder::with_strictness', 'Limits::check_dimensions', 'ImageReader::make_decoder', 'utils::check_dimension_overflow', 'ImageReader::require_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=['hdr::HdrDecoder::new', 'TgaDecoder::expand_color_map', 'ImageDecoder::total_bytes', 'avif::AvifDecoder::new', 'FarbfeldDecoder::new', 'ColorMap::get', 'tga::TgaDecoder::new', 'DxtDecoder::new', 'ico::IcoDecoder::new']

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=['ImageReader::make_decoder', 'ImageBuffer::inner_pixels', 'Ratio::new', 'Limits::check_dimensions', 'ImageBuffer::from_raw', 'ImageReader::require_format', 'ImageReader::set_format']

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=['crate::utils::check_dimension_overflow', 'BmpDecoder::read_palette', 'Limits::check_dimensions', 'R::read_exact_vec', 'ColorMap::get', 'gcd', 'Header::from_reader', 'ImageBuffer::inner_pixels', 'utils::check_dimension_overflow', 'ImageReader::make_decoder']

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=['crate::utils::check_dimension_overflow', 'BmpDecoder::read_palette', 'ImageReader::require_format', 'Limits::check_dimensions', 'R::read_exact_vec', 'ColorMap::get', 'gcd', 'Header::from_reader', 'ImageBuffer::inner_pixels', 'utils::check_dimension_overflow']

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=['crate::utils::check_dimension_overflow', 'ImageReader::require_format', 'BmpDecoder::read_palette', 'Limits::check_dimensions', 'R::read_exact_vec', 'ImageBuffer::inner_pixels', 'Header::from_reader', 'utils::check_dimension_overflow', 'gcd', 'HdrDecoder::with_strictness']

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

Directories in report

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

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
fuzzer_script_bmp fuzzerLogFile-fuzzer_script_bmp.data fuzzerLogFile-fuzzer_script_bmp.data.yaml fuzzer_script_bmp.covreport
fuzzer_script_pnm fuzzerLogFile-fuzzer_script_pnm.data fuzzerLogFile-fuzzer_script_pnm.data.yaml fuzzer_script_pnm.covreport
fuzzer_script_ico fuzzerLogFile-fuzzer_script_ico.data fuzzerLogFile-fuzzer_script_ico.data.yaml fuzzer_script_ico.covreport
fuzzer_script_png fuzzerLogFile-fuzzer_script_png.data fuzzerLogFile-fuzzer_script_png.data.yaml fuzzer_script_png.covreport
fuzzer_script_tiff fuzzerLogFile-fuzzer_script_tiff.data fuzzerLogFile-fuzzer_script_tiff.data.yaml fuzzer_script_tiff.covreport
fuzzer_script_webp fuzzerLogFile-fuzzer_script_webp.data fuzzerLogFile-fuzzer_script_webp.data.yaml fuzzer_script_webp.covreport
fuzzer_script_hdr fuzzerLogFile-fuzzer_script_hdr.data fuzzerLogFile-fuzzer_script_hdr.data.yaml fuzzer_script_hdr.covreport
fuzzer_script_tga fuzzerLogFile-fuzzer_script_tga.data fuzzerLogFile-fuzzer_script_tga.data.yaml fuzzer_script_tga.covreport
roundtrip_webp fuzzerLogFile-roundtrip_webp.data fuzzerLogFile-roundtrip_webp.data.yaml roundtrip_webp.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_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
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