Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

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 1705 98.5%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 25 1.44%
All colors 1730 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
715 621 ImageReader::make_decoder call site: 00621 BmpDecoder::read_metadata
216 1343 ImageReader::make_decoder call site: 01343 BmpDecoder::read_headers
199 308 ImageReader::make_decoder call site: 00308 tests::test_image_outside_image_no_wrap_around
159 148 ImageBuffer::inner_pixels_mut call site: 00148 Orientation::locate_orientation_entry
151 1561 gcd call site: 01561 BmpDecoder::read_headers
98 39 Limits::check_support call site: 00039 ImageReader::make_decoder
74 508 Box::read_image call site: 00508 TgaDecoder::expand_color_map
36 583 Limits::check_dimensions call site: 00583
18 20 ImageReader::set_format call site: 00020 ImageDecoder::set_limits
15 1714 ImageReader::require_format call site: 01714 ImageDecoder::set_limits
9 2 image::load_from_memory_with_format call site: 00002
6 12 image::load_from_memory_with_format call site: 00012

Runtime coverage analysis

Covered functions
176
Functions that are reachable but not covered
1
Reachable functions
2
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/fuzzer_script_gif.rs 2
src/images/dynimage.rs 2
src/hooks.rs 108
src/io/free_functions.rs 14
src/io/limits.rs 6
src/io/image_reader_type.rs 38
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 13
src/animation.rs 18
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/codecs/avif/encoder.rs 5
src/codecs/hdr/encoder.rs 2
src/color.rs 17
src/io/format.rs 2
src/codecs/farbfeld.rs 7
src/utils/mod.rs 4
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 13
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/codecs/hdr/decoder.rs 61
src/codecs/tiff.rs 15
src/codecs/tga/header.rs 3
src/io.rs 10
src/codecs/openexr.rs 15
src/codecs/bmp/decoder.rs 67
src/imageops/sample.rs 30
src/math/rect.rs 2
src/codecs/ico/decoder.rs 18
src/codecs/pnm/decoder.rs 11
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 1633 94.3%
gold [1:9] 5 0.28%
yellow [10:29] 3 0.17%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 89 5.14%
All colors 1730 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
490 846 Limits::default call site: 00846 BmpDecoder::read_metadata
279 1337 ImageReader::make_decoder call site: 01337 BmpDecoder::read_headers
241 341 crate::utils::check_dimension_overflow call site: 00341 tests::test_image_outside_image_no_wrap_around
208 583 Limits::check_dimensions call site: 00583 Header::from_reader
165 142 ImageBuffer::image_buffer_len call site: 00142 Orientation::locate_orientation_entry
96 41 crate::LimitSupport::default call site: 00041 ImageReader::make_decoder
30 308 ImageReader::make_decoder call site: 00308 FarbfeldReader::new
22 792 R::read_exact_vec call site: 00792 ImageReader::into_dimensions
18 20 ImageReader::set_format call site: 00020 ImageDecoder::set_limits
18 1683 ImageReader::make_decoder call site: 01683 FarbfeldReader::new
16 829 R::read_exact_vec call site: 00829
15 1714 ImageReader::require_format call site: 01714 ImageDecoder::set_limits

Runtime coverage analysis

Covered functions
183
Functions that are reachable but not covered
1
Reachable functions
2
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/fuzzer_script_pnm.rs 2
src/images/dynimage.rs 2
src/hooks.rs 108
src/io/free_functions.rs 14
src/io/limits.rs 6
src/io/image_reader_type.rs 38
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 13
src/animation.rs 18
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/codecs/avif/encoder.rs 5
src/codecs/hdr/encoder.rs 2
src/color.rs 17
src/io/format.rs 2
src/codecs/farbfeld.rs 7
src/utils/mod.rs 4
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 13
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/codecs/hdr/decoder.rs 61
src/codecs/tiff.rs 15
src/codecs/tga/header.rs 3
src/io.rs 10
src/codecs/openexr.rs 15
src/codecs/bmp/decoder.rs 67
src/imageops/sample.rs 30
src/math/rect.rs 2
src/codecs/ico/decoder.rs 18
src/codecs/pnm/decoder.rs 11
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 1701 98.3%
gold [1:9] 0 0.0%
yellow [10:29] 5 0.28%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 24 1.38%
All colors 1730 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
533 803 ColorType::channel_count call site: 00803 BmpDecoder::read_metadata
371 1341 ImageReader::make_decoder call site: 01341 BmpDecoder::read_headers
256 308 ImageReader::make_decoder call site: 00308 tests::test_image_outside_image_no_wrap_around
165 142 ImageBuffer::image_buffer_len call site: 00142 Orientation::locate_orientation_entry
107 583 Limits::check_dimensions call site: 00583 FarbfeldDecoder::new
98 39 Limits::check_support call site: 00039 ImageReader::make_decoder
94 700 tiff::TiffDecoder::new call site: 00700 Header::from_reader
18 20 ImageReader::set_format call site: 00020 ImageDecoder::set_limits
16 566 ImageReader::make_decoder call site: 00566 Limits::check_dimensions
15 1714 ImageReader::require_format call site: 01714 ImageDecoder::set_limits
9 2 image::load_from_memory_with_format call site: 00002
6 12 image::load_from_memory_with_format call site: 00012

Runtime coverage analysis

Covered functions
361
Functions that are reachable but not covered
1
Reachable functions
2
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/fuzzer_script_png.rs 2
src/images/dynimage.rs 2
src/hooks.rs 108
src/io/free_functions.rs 14
src/io/limits.rs 6
src/io/image_reader_type.rs 38
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 13
src/animation.rs 18
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/codecs/avif/encoder.rs 5
src/codecs/hdr/encoder.rs 2
src/color.rs 17
src/io/format.rs 2
src/codecs/farbfeld.rs 7
src/utils/mod.rs 4
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 13
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/codecs/hdr/decoder.rs 61
src/codecs/tiff.rs 15
src/codecs/tga/header.rs 3
src/io.rs 10
src/codecs/openexr.rs 15
src/codecs/bmp/decoder.rs 67
src/imageops/sample.rs 30
src/math/rect.rs 2
src/codecs/ico/decoder.rs 18
src/codecs/pnm/decoder.rs 11
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 1437 83.0%
gold [1:9] 28 1.61%
yellow [10:29] 30 1.73%
greenyellow [30:49] 4 0.23%
lawngreen 50+ 231 13.3%
All colors 1730 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
268 308 ImageReader::make_decoder call site: 00308 tests::test_image_outside_image_no_wrap_around
169 1357 ImageReader::make_decoder call site: 01357 BmpDecoder::read_headers
165 142 ImageBuffer::image_buffer_len call site: 00142 Orientation::locate_orientation_entry
143 1552 BmpDecoder::read_headers call site: 01552 BmpDecoder::read_headers
131 1105 BmpDecoder::read_palette call site: 01105 horizontal_sample
107 583 Limits::check_dimensions call site: 00583 FarbfeldDecoder::new
98 39 Limits::check_support call site: 00039 ImageReader::make_decoder
94 700 tiff::TiffDecoder::new call site: 00700 Header::from_reader
39 803 ColorType::channel_count call site: 00803 ImageReader::into_dimensions
30 1269 BmpDecoder::read_metadata call site: 01269 TgaDecoder::expand_color_map
21 912 check_for_overflow call site: 00912 ColorMap::get
18 20 ImageReader::set_format call site: 00020 ImageDecoder::set_limits

Runtime coverage analysis

Covered functions
388
Functions that are reachable but not covered
1
Reachable functions
2
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/fuzzer_script_ico.rs 2
src/images/dynimage.rs 2
src/hooks.rs 108
src/io/free_functions.rs 14
src/io/limits.rs 6
src/io/image_reader_type.rs 38
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 13
src/animation.rs 18
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/codecs/avif/encoder.rs 5
src/codecs/hdr/encoder.rs 2
src/color.rs 17
src/io/format.rs 2
src/codecs/farbfeld.rs 7
src/utils/mod.rs 4
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 13
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/codecs/hdr/decoder.rs 61
src/codecs/tiff.rs 15
src/codecs/tga/header.rs 3
src/io.rs 10
src/codecs/openexr.rs 15
src/codecs/bmp/decoder.rs 67
src/imageops/sample.rs 30
src/math/rect.rs 2
src/codecs/ico/decoder.rs 18
src/codecs/pnm/decoder.rs 11
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 1707 98.6%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 23 1.32%
All colors 1730 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
573 763 tga::TgaDecoder::new call site: 00763 BmpDecoder::read_metadata
367 1345 ImageReader::make_decoder call site: 01345 BmpDecoder::read_headers
274 308 ImageReader::make_decoder call site: 00308 tests::test_image_outside_image_no_wrap_around
165 142 ImageBuffer::image_buffer_len call site: 00142 Orientation::locate_orientation_entry
128 634 jpeg::JpegDecoder::new_with_spec_compliance call site: 00634 Header::from_reader
98 39 Limits::check_support call site: 00039 ImageReader::make_decoder
44 583 Limits::check_dimensions call site: 00583
18 20 ImageReader::set_format call site: 00020 ImageDecoder::set_limits
15 1714 ImageReader::require_format call site: 01714 ImageDecoder::set_limits
9 2 image::load_from_memory_with_format call site: 00002
6 12 image::load_from_memory_with_format call site: 00012
6 1337 ImageReader::make_decoder call site: 01337

Runtime coverage analysis

Covered functions
259
Functions that are reachable but not covered
1
Reachable functions
2
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/fuzzer_script_jpeg.rs 2
src/images/dynimage.rs 2
src/hooks.rs 108
src/io/free_functions.rs 14
src/io/limits.rs 6
src/io/image_reader_type.rs 38
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 13
src/animation.rs 18
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/codecs/avif/encoder.rs 5
src/codecs/hdr/encoder.rs 2
src/color.rs 17
src/io/format.rs 2
src/codecs/farbfeld.rs 7
src/utils/mod.rs 4
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 13
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/codecs/hdr/decoder.rs 61
src/codecs/tiff.rs 15
src/codecs/tga/header.rs 3
src/io.rs 10
src/codecs/openexr.rs 15
src/codecs/bmp/decoder.rs 67
src/imageops/sample.rs 30
src/math/rect.rs 2
src/codecs/ico/decoder.rs 18
src/codecs/pnm/decoder.rs 11
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 1739 98.3%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 30 1.69%
All colors 1769 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
692 613 ImageReader::make_decoder call site: 00613 BmpDecoder::read_metadata
265 274 ImageReader::make_decoder call site: 00274 tests::test_image_outside_image_no_wrap_around
204 1316 ImageReader::make_decoder call site: 01316 BmpDecoder::read_headers
152 1521 Ratio::new call site: 01521 BmpDecoder::read_headers
127 146 ImageBuffer::inner_pixels call site: 00146 Orientation::locate_orientation_entry
106 0 EP call site: 00000 ImageReader::make_decoder
54 557 Limits::check_dimensions call site: 00557
35 1675 ImageReader::require_format call site: 01675 ImageDecoder::set_limits
33 111 ImageBuffer::image_buffer_len call site: 00111 ImageReader::into_dimensions
20 1717 ImageBuffer::from_raw call site: 01717 Header::write_to
19 1749 ImageReader::set_format call site: 01749 ImageDecoder::set_limits
16 540 Limits::check_support call site: 00540 Limits::check_dimensions

Runtime coverage analysis

Covered functions
147
Functions that are reachable but not covered
7
Reachable functions
17
Percentage of reachable functions covered
58.82%
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 61
src/color.rs 17
src/codecs/avif/encoder.rs 9
src/io/image_reader_type.rs 38
src/hooks.rs 108
src/images/flat.rs 2
src/codecs/tga/decoder.rs 13
src/animation.rs 18
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 16
src/images/buffer_par.rs 1
src/codecs/hdr/encoder.rs 2
src/io/format.rs 2
src/codecs/farbfeld.rs 7
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 13
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 6
src/codecs/tiff.rs 15
src/codecs/tga/header.rs 5
src/io.rs 10
src/codecs/openexr.rs 15
src/codecs/bmp/decoder.rs 67
src/imageops/sample.rs 30
src/math/rect.rs 2
src/codecs/ico/decoder.rs 18
src/codecs/pnm/decoder.rs 11
src/images/dynimage.rs 2
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 1709 98.7%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 21 1.21%
All colors 1730 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
700 636 ImageReader::make_decoder call site: 00636 BmpDecoder::read_metadata
274 308 ImageReader::make_decoder call site: 00308 tests::test_image_outside_image_no_wrap_around
212 1347 ImageReader::make_decoder call site: 01347 BmpDecoder::read_headers
165 142 ImageBuffer::image_buffer_len call site: 00142 Orientation::locate_orientation_entry
152 1560 Ratio::new call site: 01560 BmpDecoder::read_headers
98 39 Limits::check_support call site: 00039 ImageReader::make_decoder
51 583 Limits::check_dimensions call site: 00583
18 20 ImageReader::set_format call site: 00020 ImageDecoder::set_limits
15 1714 ImageReader::require_format call site: 01714 ImageDecoder::set_limits
9 2 image::load_from_memory_with_format call site: 00002
8 1337 ImageReader::make_decoder call site: 01337
6 12 image::load_from_memory_with_format call site: 00012

Runtime coverage analysis

Covered functions
337
Functions that are reachable but not covered
1
Reachable functions
2
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/fuzzer_script_webp.rs 2
src/images/dynimage.rs 2
src/hooks.rs 108
src/io/free_functions.rs 14
src/io/limits.rs 6
src/io/image_reader_type.rs 38
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 13
src/animation.rs 18
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/codecs/avif/encoder.rs 5
src/codecs/hdr/encoder.rs 2
src/color.rs 17
src/io/format.rs 2
src/codecs/farbfeld.rs 7
src/utils/mod.rs 4
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 13
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/codecs/hdr/decoder.rs 61
src/codecs/tiff.rs 15
src/codecs/tga/header.rs 3
src/io.rs 10
src/codecs/openexr.rs 15
src/codecs/bmp/decoder.rs 67
src/imageops/sample.rs 30
src/math/rect.rs 2
src/codecs/ico/decoder.rs 18
src/codecs/pnm/decoder.rs 11
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 1451 83.8%
gold [1:9] 37 2.13%
yellow [10:29] 19 1.09%
greenyellow [30:49] 3 0.17%
lawngreen 50+ 220 12.7%
All colors 1730 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
274 308 ImageReader::make_decoder call site: 00308 tests::test_image_outside_image_no_wrap_around
258 583 Limits::check_dimensions call site: 00583 Header::from_reader
171 1355 ImageReader::make_decoder call site: 01355 BmpDecoder::read_headers
165 142 ImageBuffer::image_buffer_len call site: 00142 Orientation::locate_orientation_entry
160 1552 BmpDecoder::read_headers call site: 01552 BmpDecoder::read_headers
131 1105 BmpDecoder::read_palette call site: 01105 horizontal_sample
98 39 Limits::check_support call site: 00039 ImageReader::make_decoder
64 1272 ImageReader::make_decoder call site: 01272 ImageReader::make_decoder
21 912 check_for_overflow call site: 00912 ColorMap::get
18 20 ImageReader::set_format call site: 00020 ImageDecoder::set_limits
16 1337 ImageReader::make_decoder call site: 01337
15 1714 ImageReader::require_format call site: 01714 ImageDecoder::set_limits

Runtime coverage analysis

Covered functions
134
Functions that are reachable but not covered
1
Reachable functions
2
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/fuzzer_script_bmp.rs 2
src/images/dynimage.rs 2
src/hooks.rs 108
src/io/free_functions.rs 14
src/io/limits.rs 6
src/io/image_reader_type.rs 38
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 13
src/animation.rs 18
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/codecs/avif/encoder.rs 5
src/codecs/hdr/encoder.rs 2
src/color.rs 17
src/io/format.rs 2
src/codecs/farbfeld.rs 7
src/utils/mod.rs 4
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 13
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/codecs/hdr/decoder.rs 61
src/codecs/tiff.rs 15
src/codecs/tga/header.rs 3
src/io.rs 10
src/codecs/openexr.rs 15
src/codecs/bmp/decoder.rs 67
src/imageops/sample.rs 30
src/math/rect.rs 2
src/codecs/ico/decoder.rs 18
src/codecs/pnm/decoder.rs 11
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 1671 96.5%
gold [1:9] 14 0.80%
yellow [10:29] 10 0.57%
greenyellow [30:49] 5 0.28%
lawngreen 50+ 30 1.73%
All colors 1730 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
491 845 DecoderState::default call site: 00845 BmpDecoder::read_metadata
363 1349 ImageReader::make_decoder call site: 01349 BmpDecoder::read_headers
274 308 ImageReader::make_decoder call site: 00308 tests::test_image_outside_image_no_wrap_around
165 142 ImageBuffer::image_buffer_len call site: 00142 Orientation::locate_orientation_entry
98 39 Limits::check_support call site: 00039 ImageReader::make_decoder
97 697 err_unknown_color_type call site: 00697 Header::from_reader
59 583 Limits::check_dimensions call site: 00583
41 803 ColorType::channel_count call site: 00803 ImageReader::into_dimensions
18 20 ImageReader::set_format call site: 00020 ImageDecoder::set_limits
15 1714 ImageReader::require_format call site: 01714 ImageDecoder::set_limits
13 644 ImageReader::make_decoder call site: 00644 FarbfeldDecoder::new
10 1337 ImageReader::make_decoder call site: 01337

Runtime coverage analysis

Covered functions
761
Functions that are reachable but not covered
1
Reachable functions
2
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/fuzzer_script_tiff.rs 2
src/images/dynimage.rs 2
src/hooks.rs 108
src/io/free_functions.rs 14
src/io/limits.rs 6
src/io/image_reader_type.rs 38
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 13
src/animation.rs 18
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/codecs/avif/encoder.rs 5
src/codecs/hdr/encoder.rs 2
src/color.rs 17
src/io/format.rs 2
src/codecs/farbfeld.rs 7
src/utils/mod.rs 4
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 13
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/codecs/hdr/decoder.rs 61
src/codecs/tiff.rs 15
src/codecs/tga/header.rs 3
src/io.rs 10
src/codecs/openexr.rs 15
src/codecs/bmp/decoder.rs 67
src/imageops/sample.rs 30
src/math/rect.rs 2
src/codecs/ico/decoder.rs 18
src/codecs/pnm/decoder.rs 11
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 1528 86.4%
gold [1:9] 61 3.45%
yellow [10:29] 0 0.0%
greenyellow [30:49] 12 0.67%
lawngreen 50+ 166 9.39%
All colors 1767 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
751 910 TgaDecoder::expand_color_map call site: 00910 BmpDecoder::read_metadata_impl
165 365 ImageDecoder::total_bytes call site: 00365 tests::test_image_outside_image_no_wrap_around
87 548 avif::AvifDecoder::new call site: 00548 FarbfeldDecoder::new
86 36 ColorMap::get call site: 00036 Orientation::locate_orientation_entry
74 815 tga::TgaDecoder::new call site: 00815 BmpDecoder::read_metadata
69 636 FarbfeldDecoder::new call site: 00636 TgaDecoder::expand_color_map
52 152 TgaDecoder::expand_color_map call site: 00152 ImageReader::into_dimensions
47 295 dav1d::Decoder::new call site: 00295 Enlargeable::clamp_from
34 1672 ico::IcoDecoder::new call site: 01672 ImageDecoder::set_limits
29 221 TgaDecoder::expand_color_map call site: 00221 Orientation::locate_orientation_entry
23 271 TgaDecoder::expand_color_map call site: 00271 TgaDecoder::expand_color_map
22 768 R::read_exact_vec call site: 00768 ImageReader::into_dimensions

Runtime coverage analysis

Covered functions
40
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/hooks.rs 107
src/codecs/tga/header.rs 3
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 36
src/images/flat.rs 2
src/codecs/tga/decoder.rs 13
src/animation.rs 18
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/codecs/hdr/encoder.rs 2
src/color.rs 17
src/io/format.rs 2
src/codecs/farbfeld.rs 7
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 13
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 6
src/codecs/hdr/decoder.rs 61
src/codecs/tiff.rs 15
src/io.rs 10
src/codecs/openexr.rs 15
src/codecs/bmp/decoder.rs 67
src/imageops/sample.rs 30
src/math/rect.rs 2
src/codecs/ico/decoder.rs 18
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 1564 90.4%
gold [1:9] 7 0.40%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 159 9.19%
All colors 1730 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
490 846 Limits::default call site: 00846 BmpDecoder::read_metadata
241 341 crate::utils::check_dimension_overflow call site: 00341 tests::test_image_outside_image_no_wrap_around
209 583 Limits::check_dimensions call site: 00583 Header::from_reader
165 142 ImageBuffer::image_buffer_len call site: 00142 Orientation::locate_orientation_entry
144 1521 ImageReader::make_decoder call site: 01521 BmpDecoder::read_headers
96 41 crate::LimitSupport::default call site: 00041 ImageReader::make_decoder
36 809 io::Result::len call site: 00809 ImageReader::into_dimensions
30 308 ImageReader::make_decoder call site: 00308 FarbfeldReader::new
29 1668 utils::check_dimension_overflow call site: 01668 TgaDecoder::expand_color_map
20 1337 ImageReader::make_decoder call site: 01337
18 20 ImageReader::set_format call site: 00020 ImageDecoder::set_limits
15 1359 HdrDecoder::with_strictness call site: 01359 read_line_u8

Runtime coverage analysis

Covered functions
87
Functions that are reachable but not covered
1
Reachable functions
2
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/fuzzer_script_hdr.rs 2
src/images/dynimage.rs 2
src/hooks.rs 108
src/io/free_functions.rs 14
src/io/limits.rs 6
src/io/image_reader_type.rs 38
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 13
src/animation.rs 18
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/codecs/avif/encoder.rs 5
src/codecs/hdr/encoder.rs 2
src/color.rs 17
src/io/format.rs 2
src/codecs/farbfeld.rs 7
src/utils/mod.rs 4
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 13
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/codecs/hdr/decoder.rs 61
src/codecs/tiff.rs 15
src/codecs/tga/header.rs 3
src/io.rs 10
src/codecs/openexr.rs 15
src/codecs/bmp/decoder.rs 67
src/imageops/sample.rs 30
src/math/rect.rs 2
src/codecs/ico/decoder.rs 18
src/codecs/pnm/decoder.rs 11
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 1741 96.8%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 56 3.11%
All colors 1797 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
690 806 to_image_err call site: 00806 BmpDecoder::read_metadata
303 30 Frame::clone call site: 00030 Orientation::locate_orientation_entry
214 560 Limits::check_dimensions call site: 00560 Header::from_reader
186 356 ImageDecoder::total_bytes call site: 00356 tests::test_image_outside_image_no_wrap_around
103 1561 OpenExrDecoder::with_alpha_preference call site: 01561 TgaDecoder::expand_color_map
51 1501 OpenExrDecoder::with_alpha_preference call site: 01501 Delay::closest_bounded_fraction
46 1746 roundtrip call site: 01746 write_buffer
35 1669 ImageDecoder::set_limits call site: 01669 BmpDecoder::read_bitmap_os2v2_header
20 8 OpenExrDecoder::with_alpha_preference call site: 00008 ImageReader::make_decoder
19 783 ColorType::channel_count call site: 00783 ImageReader::into_dimensions
16 543 Limits::check_support call site: 00543 Limits::check_dimensions
14 1720 OpenExrDecoder::with_alpha_preference call site: 01720 ImageDecoder::set_limits

Runtime coverage analysis

Covered functions
1615
Functions that are reachable but not covered
5
Reachable functions
8
Percentage of reachable functions covered
37.5%
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 107
src/codecs/bmp/decoder.rs 67
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 36
src/images/flat.rs 2
src/codecs/tga/decoder.rs 13
src/animation.rs 18
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/codecs/hdr/encoder.rs 2
src/color.rs 21
src/io/format.rs 2
src/codecs/farbfeld.rs 7
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 13
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/io/limits.rs 6
src/codecs/hdr/decoder.rs 61
src/codecs/tiff.rs 15
src/codecs/tga/header.rs 3
src/io.rs 10
src/imageops/sample.rs 30
src/math/rect.rs 2
src/codecs/ico/decoder.rs 18
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 1321 70.0%
gold [1:9] 84 4.45%
yellow [10:29] 38 2.01%
greenyellow [30:49] 11 0.58%
lawngreen 50+ 431 22.8%
All colors 1885 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
229 335 crate::utils::check_dimension_overflow call site: 00335 tests::test_image_outside_image_no_wrap_around
153 148 ImageBuffer::inner_pixels_mut call site: 00148 Orientation::locate_orientation_entry
131 1100 BmpDecoder::read_palette call site: 01100 horizontal_sample
91 705 tiff::TiffDecoder::new call site: 00705 Header::from_reader
78 59 Frame::clone call site: 00059 Orientation::locate_orientation_entry
67 1817 image::load_from_memory call site: 01817 Header::from_reader
44 1556 gcd call site: 01556 Delay::closest_bounded_fraction
36 585 Limits::check_dimensions call site: 00585
30 302 ImageReader::make_decoder call site: 00302 FarbfeldReader::new
29 1742 limit_string_len call site: 01742 GifEncoder::set_repeat
27 1267 ImageReader::make_decoder call site: 01267 TgaDecoder::expand_color_map
26 1354 HdrDecoder::with_strictness call site: 01354 read_line_u8

Runtime coverage analysis

Covered functions
2708
Functions that are reachable but not covered
1
Reachable functions
2
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/fuzzer_script_guess.rs 2
src/images/dynimage.rs 4
src/hooks.rs 116
src/io/limits.rs 6
src/io/image_reader_type.rs 49
src/animation.rs 18
src/codecs/hdr/decoder.rs 61
src/color.rs 17
src/codecs/avif/encoder.rs 5
src/images/flat.rs 2
src/codecs/tga/decoder.rs 13
src/metadata.rs 15
src/traits.rs 10
src/images/buffer.rs 14
src/images/buffer_par.rs 1
src/codecs/hdr/encoder.rs 2
src/io/format.rs 2
src/codecs/farbfeld.rs 7
src/utils/mod.rs 4
src/io/free_functions.rs 21
src/io/decoder.rs 10
src/imageops/fast_blur.rs 7
src/imageops/mod.rs 17
src/images/generic_image.rs 13
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
src/codecs/tiff.rs 15
src/codecs/tga/header.rs 3
src/io.rs 10
src/codecs/openexr.rs 15
src/codecs/bmp/decoder.rs 67
src/imageops/sample.rs 30
src/math/rect.rs 2
src/codecs/ico/decoder.rs 18
src/codecs/pnm/decoder.rs 11
src/codecs/gif.rs 6
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=['ImageReader::make_decoder', 'ImageBuffer::inner_pixels_mut', 'gcd', 'Limits::check_support', 'Box::read_image', 'Limits::check_dimensions', 'ImageReader::set_format', 'ImageReader::require_format']

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=['Limits::default', 'ImageReader::make_decoder', 'crate::utils::check_dimension_overflow', 'Limits::check_dimensions', 'ImageBuffer::image_buffer_len', 'crate::LimitSupport::default', 'R::read_exact_vec', 'ImageReader::set_format']

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

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', 'BmpDecoder::read_headers', 'BmpDecoder::read_palette', 'Limits::check_dimensions', 'Limits::check_support', 'tiff::TiffDecoder::new', 'ColorType::channel_count', 'BmpDecoder::read_metadata']

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=['tga::TgaDecoder::new', 'ImageReader::make_decoder', 'ImageBuffer::image_buffer_len', 'jpeg::JpegDecoder::new_with_spec_compliance', 'Limits::check_support', 'Limits::check_dimensions', 'ImageReader::set_format', 'ImageReader::require_format', 'image::load_from_memory_with_format']

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

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_support', 'Limits::check_dimensions', 'ImageReader::set_format', 'ImageReader::require_format', 'image::load_from_memory_with_format']

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', 'Limits::check_dimensions', 'ImageBuffer::image_buffer_len', 'BmpDecoder::read_headers', 'BmpDecoder::read_palette', 'Limits::check_support', 'check_for_overflow', '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=['DecoderState::default', 'ImageReader::make_decoder', 'ImageBuffer::image_buffer_len', 'Limits::check_support', 'err_unknown_color_type', 'Limits::check_dimensions', 'ColorType::channel_count', 'ImageReader::set_format', '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=['TgaDecoder::expand_color_map', 'ImageDecoder::total_bytes', 'avif::AvifDecoder::new', 'ColorMap::get', 'tga::TgaDecoder::new', 'FarbfeldDecoder::new', 'dav1d::Decoder::new', 'ico::IcoDecoder::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=['Limits::default', 'crate::utils::check_dimension_overflow', 'Limits::check_dimensions', 'ImageBuffer::image_buffer_len', 'ImageReader::make_decoder', 'crate::LimitSupport::default', 'io::Result::len', '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=['to_image_err', 'Frame::clone', 'Limits::check_dimensions', 'ImageDecoder::total_bytes', 'OpenExrDecoder::with_alpha_preference', 'roundtrip', 'ImageDecoder::set_limits', 'ColorType::channel_count']

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', 'ImageBuffer::inner_pixels_mut', 'BmpDecoder::read_palette', 'tiff::TiffDecoder::new', 'Frame::clone', 'image::load_from_memory', 'gcd', 'Limits::check_dimensions', 'ImageReader::make_decoder', 'limit_string_len']

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

Directories in report

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

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_pnm fuzzerLogFile-fuzzer_script_pnm.data fuzzerLogFile-fuzzer_script_pnm.data.yaml fuzzer_script_pnm.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_jpeg fuzzerLogFile-fuzzer_script_jpeg.data fuzzerLogFile-fuzzer_script_jpeg.data.yaml fuzzer_script_jpeg.covreport
roundtrip_webp fuzzerLogFile-roundtrip_webp.data fuzzerLogFile-roundtrip_webp.data.yaml roundtrip_webp.covreport
fuzzer_script_webp fuzzerLogFile-fuzzer_script_webp.data fuzzerLogFile-fuzzer_script_webp.data.yaml fuzzer_script_webp.covreport
fuzzer_script_bmp fuzzerLogFile-fuzzer_script_bmp.data fuzzerLogFile-fuzzer_script_bmp.data.yaml fuzzer_script_bmp.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_exr fuzzerLogFile-fuzzer_script_exr.data fuzzerLogFile-fuzzer_script_exr.data.yaml fuzzer_script_exr.covreport
fuzzer_script_guess fuzzerLogFile-fuzzer_script_guess.data fuzzerLogFile-fuzzer_script_guess.data.yaml fuzzer_script_guess.covreport