Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues
Report generation date: 2026-01-09

Project overview: image-rs

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 1670 98.1%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 32 1.88%
All colors 1702 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
701 642 jpeg::JpegDecoder::new call site: 00642 BmpDecoder::read_metadata
199 303 ImageReader::make_decoder call site: 00303 tests::test_image_outside_image_no_wrap_around
184 1350 ImageReader::make_decoder call site: 01350 HdrDecoder::with_strictness
156 146 ImageBuffer::inner_pixels_mut call site: 00146 Orientation::locate_orientation_entry
146 1536 gcd call site: 01536 Delay::closest_bounded_fraction
98 37 Limits::check_support call site: 00037 ImageReader::make_decoder
66 503 Box::read_image call site: 00503 TgaDecoder::expand_color_map
36 570 Limits::check_dimensions call site: 00570
20 608 ImageReader::make_decoder call site: 00608
18 18 ImageReader::set_format call site: 00018 ImageDecoder::set_limits
17 1684 ImageReader::require_format call site: 01684 ImageDecoder::set_limits
9 2 image::load_from_memory_with_format call site: 00002

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 129
src/io/free_functions.rs 14
src/io/limits.rs 5
src/io/image_reader_type.rs 39
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
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 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
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 51
src/imageops/sample.rs 30
src/codecs/ico/decoder.rs 16
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 1619 95.1%
gold [1:9] 12 0.70%
yellow [10:29] 3 0.17%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 68 3.99%
All colors 1702 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
415 928 dds::DdsDecoder::new call site: 00928 BmpDecoder::read_metadata
245 1344 ImageReader::make_decoder call site: 01344 HdrDecoder::with_strictness
233 336 crate::utils::check_dimension_overflow call site: 00336 tests::test_image_outside_image_no_wrap_around
202 625 zune_core::options::DecoderOptions::default call site: 00625 Header::from_reader
162 140 ImageBuffer::image_buffer_len call site: 00140 Orientation::locate_orientation_entry
96 39 crate::LimitSupport::default call site: 00039 ImageReader::make_decoder
54 570 Limits::check_dimensions call site: 00570
41 859 R::read_exact_vec call site: 00859 Header::from_reader
30 303 ImageReader::make_decoder call site: 00303 FarbfeldReader::new
18 18 ImageReader::set_format call site: 00018 ImageDecoder::set_limits
18 1653 pnm::PnmDecoder::new call site: 01653 FarbfeldReader::new
17 828 R::read_exact_vec call site: 00828 ImageReader::into_dimensions

Runtime coverage analysis

Covered functions
186
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 129
src/io/free_functions.rs 14
src/io/limits.rs 5
src/io/image_reader_type.rs 39
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
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 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
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 51
src/imageops/sample.rs 30
src/codecs/ico/decoder.rs 16
src/codecs/pnm/decoder.rs 11
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 1669 98.0%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 33 1.93%
All colors 1702 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
688 655 ImageReader::make_decoder call site: 00655 BmpDecoder::read_metadata
193 376 ImageDecoder::total_bytes call site: 00376 tests::test_image_outside_image_no_wrap_around
180 1354 ImageReader::make_decoder call site: 01354 HdrDecoder::with_strictness
162 140 ImageBuffer::image_buffer_len call site: 00140 Orientation::locate_orientation_entry
147 1535 Ratio::new call site: 01535 Delay::closest_bounded_fraction
95 40 ImageDecoder::set_limits call site: 00040 ImageReader::make_decoder
83 570 Limits::check_dimensions call site: 00570 TgaDecoder::expand_color_map
56 303 ImageReader::make_decoder call site: 00303 FarbfeldReader::new
17 18 ImageReader::set_format call site: 00018 ImageDecoder::set_limits
10 364 ImageDecoder::total_bytes call site: 00364
9 2 image::load_from_memory_with_format call site: 00002
8 1344 ImageReader::make_decoder call site: 01344

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 129
src/io/free_functions.rs 14
src/io/limits.rs 5
src/io/image_reader_type.rs 39
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
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 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
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 51
src/imageops/sample.rs 30
src/codecs/ico/decoder.rs 16
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 1489 87.4%
gold [1:9] 40 2.35%
yellow [10:29] 17 0.99%
greenyellow [30:49] 12 0.70%
lawngreen 50+ 144 8.46%
All colors 1702 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
320 1362 ImageReader::make_decoder call site: 01362 HdrDecoder::with_strictness
202 625 zune_core::options::DecoderOptions::default call site: 00625 Header::from_reader
193 376 ImageDecoder::total_bytes call site: 00376 tests::test_image_outside_image_no_wrap_around
162 140 ImageBuffer::image_buffer_len call site: 00140 Orientation::locate_orientation_entry
120 1140 BmpDecoder::read_palette call site: 01140 horizontal_sample
95 40 ImageDecoder::set_limits call site: 00040 ImageReader::make_decoder
83 859 R::read_exact_vec call site: 00859 Header::from_reader
60 1283 bmp::BmpDecoder::new call site: 01283 ImageReader::make_decoder
56 303 ImageReader::make_decoder call site: 00303 FarbfeldReader::new
54 570 Limits::check_dimensions call site: 00570
22 985 check_for_overflow call site: 00985 ColorMap::get
17 18 ImageReader::set_format call site: 00018 ImageDecoder::set_limits

Runtime coverage analysis

Covered functions
119
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 129
src/io/free_functions.rs 14
src/io/limits.rs 5
src/io/image_reader_type.rs 39
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
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 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
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 51
src/imageops/sample.rs 30
src/codecs/ico/decoder.rs 16
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 1671 98.1%
gold [1:9] 5 0.29%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 26 1.52%
All colors 1702 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
504 839 ColorType::channel_count call site: 00839 BmpDecoder::read_metadata
334 1348 ImageReader::make_decoder call site: 01348 HdrDecoder::with_strictness
260 570 Limits::check_dimensions call site: 00570 Header::from_reader
175 376 ImageDecoder::total_bytes call site: 00376 tests::test_image_outside_image_no_wrap_around
162 140 ImageBuffer::image_buffer_len call site: 00140 Orientation::locate_orientation_entry
98 37 Limits::check_support call site: 00037 ImageReader::make_decoder
56 303 ImageReader::make_decoder call site: 00303 FarbfeldReader::new
18 18 ImageReader::set_format call site: 00018 ImageDecoder::set_limits
17 1684 ImageReader::require_format call site: 01684 ImageDecoder::set_limits
16 553 ImageReader::make_decoder call site: 00553 Limits::check_dimensions
10 364 ImageDecoder::total_bytes call site: 00364
9 2 image::load_from_memory_with_format call site: 00002

Runtime coverage analysis

Covered functions
357
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 129
src/io/free_functions.rs 14
src/io/limits.rs 5
src/io/image_reader_type.rs 39
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
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 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
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 51
src/imageops/sample.rs 30
src/codecs/ico/decoder.rs 16
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 1489 87.4%
gold [1:9] 40 2.35%
yellow [10:29] 15 0.88%
greenyellow [30:49] 6 0.35%
lawngreen 50+ 152 8.93%
All colors 1702 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
318 1364 ImageReader::make_decoder call site: 01364 HdrDecoder::with_strictness
257 570 Limits::check_dimensions call site: 00570 Header::from_reader
187 376 ImageDecoder::total_bytes call site: 00376 tests::test_image_outside_image_no_wrap_around
162 140 ImageBuffer::image_buffer_len call site: 00140 Orientation::locate_orientation_entry
120 1140 BmpDecoder::read_palette call site: 01140 horizontal_sample
98 37 Limits::check_support call site: 00037 ImageReader::make_decoder
87 859 R::read_exact_vec call site: 00859 BmpDecoder::read_metadata
56 303 ImageReader::make_decoder call site: 00303 FarbfeldReader::new
22 985 check_for_overflow call site: 00985 ColorMap::get
21 1285 ImageReader::make_decoder call site: 01285 read_entries
18 18 ImageReader::set_format call site: 00018 ImageDecoder::set_limits
18 1344 ImageReader::make_decoder call site: 01344

Runtime coverage analysis

Covered functions
369
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 129
src/io/free_functions.rs 14
src/io/limits.rs 5
src/io/image_reader_type.rs 39
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
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 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
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 51
src/imageops/sample.rs 30
src/codecs/ico/decoder.rs 16
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 1707 97.5%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 42 2.40%
All colors 1749 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
679 634 ImageReader::make_decoder call site: 00634 BmpDecoder::read_metadata
180 1324 ImageReader::make_decoder call site: 01324 HdrDecoder::with_strictness
178 350 ImageDecoder::total_bytes call site: 00350 tests::test_image_outside_image_no_wrap_around
147 1505 Ratio::new call site: 01505 Delay::closest_bounded_fraction
124 146 ImageBuffer::inner_pixels call site: 00146 Orientation::locate_orientation_entry
106 0 EP call site: 00000 ImageReader::make_decoder
86 546 Limits::check_dimensions call site: 00546 TgaDecoder::expand_color_map
56 271 ImageReader::make_decoder call site: 00271 FarbfeldReader::new
33 111 ImageBuffer::image_buffer_len call site: 00111 ImageReader::into_dimensions
20 1698 ImageBuffer::from_raw call site: 01698 Header::write_to
19 1664 ImageDecoder::set_limits call site: 01664 TgaDecoder::expand_color_map
19 1729 ImageReader::set_format call site: 01729 ImageDecoder::set_limits

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 55
src/color.rs 17
src/codecs/avif/encoder.rs 9
src/io/image_reader_type.rs 39
src/hooks.rs 129
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
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 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 51
src/imageops/sample.rs 30
src/codecs/ico/decoder.rs 16
src/codecs/pnm/decoder.rs 11
src/codecs/tga/header.rs 3
src/images/dynimage.rs 2
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 1658 97.4%
gold [1:9] 15 0.88%
yellow [10:29] 5 0.29%
greenyellow [30:49] 1 0.05%
lawngreen 50+ 23 1.35%
All colors 1702 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
606 737 err_unknown_color_type call site: 00737 BmpDecoder::read_metadata
326 1356 ImageReader::make_decoder call site: 01356 HdrDecoder::with_strictness
266 303 ImageReader::make_decoder call site: 00303 tests::test_image_outside_image_no_wrap_around
162 140 ImageBuffer::image_buffer_len call site: 00140 Orientation::locate_orientation_entry
98 37 Limits::check_support call site: 00037 ImageReader::make_decoder
91 570 Limits::check_dimensions call site: 00570 TgaDecoder::expand_color_map
23 663 ImageReader::make_decoder call site: 00663 FarbfeldDecoder::new
23 709 ImageError::from_tiff_decode call site: 00709 TgaDecoder::expand_color_map
18 18 ImageReader::set_format call site: 00018 ImageDecoder::set_limits
17 1684 ImageReader::require_format call site: 01684 ImageDecoder::set_limits
10 1344 ImageReader::make_decoder call site: 01344
9 2 image::load_from_memory_with_format call site: 00002

Runtime coverage analysis

Covered functions
650
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 129
src/io/free_functions.rs 14
src/io/limits.rs 5
src/io/image_reader_type.rs 39
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
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 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
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 51
src/imageops/sample.rs 30
src/codecs/ico/decoder.rs 16
src/codecs/pnm/decoder.rs 11
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 1509 88.6%
gold [1:9] 23 1.35%
yellow [10:29] 4 0.23%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 166 9.75%
All colors 1702 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
423 920 ExtendedColorType::color_type call site: 00920 BmpDecoder::read_metadata
193 376 ImageDecoder::total_bytes call site: 00376 tests::test_image_outside_image_no_wrap_around
184 625 zune_core::options::DecoderOptions::default call site: 00625 Header::from_reader
162 140 ImageBuffer::image_buffer_len call site: 00140 Orientation::locate_orientation_entry
125 1515 HdrDecoder::with_strictness call site: 01515 Delay::closest_bounded_fraction
95 40 ImageDecoder::set_limits call site: 00040 ImageReader::make_decoder
72 845 io::Result::len call site: 00845 Header::from_reader
54 570 Limits::check_dimensions call site: 00570
30 303 ImageReader::make_decoder call site: 00303 FarbfeldReader::new
24 1643 utils::check_dimension_overflow call site: 01643 FarbfeldReader::new
20 1344 ImageReader::make_decoder call site: 01344
18 810 tga::TgaDecoder::new call site: 00810 R::read_exact_vec

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 129
src/io/free_functions.rs 14
src/io/limits.rs 5
src/io/image_reader_type.rs 39
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
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 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
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 51
src/imageops/sample.rs 30
src/codecs/ico/decoder.rs 16
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 1316 74.3%
gold [1:9] 78 4.40%
yellow [10:29] 20 1.12%
greenyellow [30:49] 10 0.56%
lawngreen 50+ 346 19.5%
All colors 1770 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
175 374 ImageDecoder::total_bytes call site: 00374 tests::test_image_outside_image_no_wrap_around
120 1143 BmpDecoder::read_palette call site: 01143 horizontal_sample
119 570 Limits::check_dimensions call site: 00570 FarbfeldDecoder::new
116 1653 ImageDecoder::set_limits call site: 01653 Delay::closest_bounded_fraction
80 869 expand_rgb15_to_rgb24 call site: 00869 BmpDecoder::read_metadata
67 74 ColorMap::get call site: 00074 Orientation::locate_orientation_entry
53 777 Header::from_reader call site: 00777 ImageReader::into_dimensions
45 1554 HeaderReader::read_magic_constant call site: 01554 PnmDecoder::read_graymap_header
40 170 ImageBuffer::inner_pixels call site: 00170 BmpDecoder::num_channels
39 1602 utils::check_dimension_overflow call site: 01602 FarbfeldReader::new
35 37 gcd call site: 00037 ImageReader::make_decoder
33 1518 HdrDecoder::with_strictness call site: 01518 OpenExrDecoder::with_alpha_preference

Runtime coverage analysis

Covered functions
1562
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 128
src/images/buffer.rs 14
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 37
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
src/metadata.rs 15
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 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 51
src/imageops/sample.rs 30
src/codecs/ico/decoder.rs 16
src/codecs/pnm/decoder.rs 11

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 1505 86.4%
gold [1:9] 50 2.87%
yellow [10:29] 0 0.0%
greenyellow [30:49] 15 0.86%
lawngreen 50+ 171 9.82%
All colors 1741 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
359 985 TgaDecoder::expand_color_map call site: 00985 BmpDecoder::read_bitmap_info_header
289 1345 hdr::HdrDecoder::new call site: 01345 HdrMetadata::update_header_info
168 362 ImageDecoder::total_bytes call site: 00362 tests::test_image_outside_image_no_wrap_around
119 537 avif::AvifDecoder::new call site: 00537 FarbfeldDecoder::new
115 848 tga::TgaDecoder::new call site: 00848 BmpDecoder::read_metadata
86 36 ColorMap::get call site: 00036 Orientation::locate_orientation_entry
83 657 FarbfeldDecoder::new call site: 00657 TgaDecoder::expand_color_map
52 152 TgaDecoder::expand_color_map call site: 00152 ImageReader::into_dimensions
47 292 dav1d::Decoder::new call site: 00292 Enlargeable::clamp_from
34 1645 ico::IcoDecoder::new call site: 01645 ImageDecoder::set_limits
29 217 TgaDecoder::expand_color_map call site: 00217 Orientation::locate_orientation_entry
23 268 TgaDecoder::expand_color_map call site: 00268 TgaDecoder::expand_color_map

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 128
src/codecs/dds.rs 11
src/codecs/avif/encoder.rs 5
src/io/image_reader_type.rs 37
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
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 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 51
src/imageops/sample.rs 30
src/codecs/ico/decoder.rs 16
src/codecs/pnm/decoder.rs 11

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 1244 73.0%
gold [1:9] 78 4.58%
yellow [10:29] 20 1.17%
greenyellow [30:49] 10 0.58%
lawngreen 50+ 350 20.5%
All colors 1702 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
175 376 ImageDecoder::total_bytes call site: 00376 tests::test_image_outside_image_no_wrap_around
120 1140 BmpDecoder::read_palette call site: 01140 horizontal_sample
116 570 Limits::check_dimensions call site: 00570 FarbfeldDecoder::new
80 52 ColorMap::get call site: 00052 Orientation::locate_orientation_entry
80 866 expand_rgb15_to_rgb24 call site: 00866 BmpDecoder::read_metadata
56 1536 gcd call site: 01536 Delay::closest_bounded_fraction
53 774 Header::from_reader call site: 00774 ImageReader::into_dimensions
45 1595 HeaderReader::read_magic_constant call site: 01595 PnmDecoder::read_graymap_header
40 181 ImageBuffer::inner_pixels call site: 00181 BmpDecoder::num_channels
39 1643 utils::check_dimension_overflow call site: 01643 FarbfeldReader::new
30 303 ImageReader::make_decoder call site: 00303 FarbfeldReader::new
26 240 TgaDecoder::expand_color_map call site: 00240 Orientation::locate_orientation_entry

Runtime coverage analysis

Covered functions
1562
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 129
src/io/free_functions.rs 14
src/io/limits.rs 5
src/io/image_reader_type.rs 39
tests/limits_anim.rs 6
src/io/decoder.rs 10
src/images/flat.rs 2
src/codecs/tga/decoder.rs 15
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 11
src/codecs/avif/decoder.rs 8
src/codecs/png.rs 21
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 51
src/imageops/sample.rs 30
src/codecs/ico/decoder.rs 16
src/codecs/pnm/decoder.rs 11
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 1342 74.5%
gold [1:9] 78 4.33%
yellow [10:29] 20 1.11%
greenyellow [30:49] 10 0.55%
lawngreen 50+ 350 19.4%
All colors 1800 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
175 368 ImageDecoder::total_bytes call site: 00368 tests::test_image_outside_image_no_wrap_around
120 1127 BmpDecoder::read_palette call site: 01127 horizontal_sample
119 564 Limits::check_dimensions call site: 00564 FarbfeldDecoder::new
80 854 expand_rgb15_to_rgb24 call site: 00854 BmpDecoder::read_metadata
79 1691 ColorType::channel_count call site: 01691 GifEncoder::set_repeat
78 46 ColorMap::get call site: 00046 Orientation::locate_orientation_entry
56 1523 gcd call site: 01523 Delay::closest_bounded_fraction
53 771 Header::from_reader call site: 00771 ImageReader::into_dimensions
45 1582 HeaderReader::read_magic_constant call site: 01582 PnmDecoder::read_graymap_header
40 167 ImageBuffer::inner_pixels call site: 00167 BmpDecoder::num_channels
39 1630 utils::check_dimension_overflow call site: 01630 FarbfeldReader::new
33 0 EP call site: 00000 ImageReader::guess_format

Runtime coverage analysis

Covered functions
1562
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 4
src/io/image_reader_type.rs 48
src/hooks.rs 138
src/animation.rs 18
src/codecs/hdr/decoder.rs 55
src/color.rs 17
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/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 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/openexr.rs 15
src/codecs/bmp/decoder.rs 51
src/imageops/sample.rs 30
src/codecs/ico/decoder.rs 16
src/codecs/pnm/decoder.rs 11
src/codecs/gif.rs 9
tests/limits_anim.rs 6

Fuzz engine guidance

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

fuzz/fuzzers/fuzzer_script_gif.rs

Dictionary

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


Fuzzer function priority

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

-focus_function=['jpeg::JpegDecoder::new', 'ImageReader::make_decoder', 'ImageBuffer::inner_pixels_mut', 'gcd', 'Limits::check_support', 'Box::read_image', 'Limits::check_dimensions', 'ImageReader::set_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=['dds::DdsDecoder::new', 'ImageReader::make_decoder', 'crate::utils::check_dimension_overflow', 'zune_core::options::DecoderOptions::default', 'ImageBuffer::image_buffer_len', 'crate::LimitSupport::default', 'Limits::check_dimensions', 'R::read_exact_vec', 'ImageReader::set_format']

fuzz/fuzzers/fuzzer_script_webp.rs

Dictionary

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


Fuzzer function priority

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

-focus_function=['ImageReader::make_decoder', 'ImageDecoder::total_bytes', 'ImageBuffer::image_buffer_len', 'Ratio::new', 'ImageDecoder::set_limits', 'Limits::check_dimensions', 'ImageReader::set_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', 'zune_core::options::DecoderOptions::default', 'ImageDecoder::total_bytes', 'ImageBuffer::image_buffer_len', 'BmpDecoder::read_palette', 'ImageDecoder::set_limits', 'R::read_exact_vec', 'bmp::BmpDecoder::new', 'Limits::check_dimensions']

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

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

fuzz/fuzzers/fuzzer_script_tiff.rs

Dictionary

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


Fuzzer function priority

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

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

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=['ExtendedColorType::color_type', 'ImageDecoder::total_bytes', 'zune_core::options::DecoderOptions::default', 'ImageBuffer::image_buffer_len', 'HdrDecoder::with_strictness', 'ImageDecoder::set_limits', 'io::Result::len', 'Limits::check_dimensions', 'ImageReader::make_decoder', '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=['ImageDecoder::total_bytes', 'BmpDecoder::read_palette', 'Limits::check_dimensions', 'ImageDecoder::set_limits', 'expand_rgb15_to_rgb24', 'ColorMap::get', 'Header::from_reader', 'HeaderReader::read_magic_constant', 'ImageBuffer::inner_pixels', 'utils::check_dimension_overflow']

fuzz/fuzzers/fuzzer_script_tga.rs

Dictionary

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


Fuzzer function priority

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

-focus_function=['TgaDecoder::expand_color_map', 'hdr::HdrDecoder::new', 'ImageDecoder::total_bytes', 'avif::AvifDecoder::new', 'tga::TgaDecoder::new', 'ColorMap::get', 'FarbfeldDecoder::new', 'dav1d::Decoder::new', 'ico::IcoDecoder::new']

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=['ImageDecoder::total_bytes', 'BmpDecoder::read_palette', 'Limits::check_dimensions', 'ColorMap::get', 'expand_rgb15_to_rgb24', 'gcd', 'Header::from_reader', 'HeaderReader::read_magic_constant', 'ImageBuffer::inner_pixels', 'utils::check_dimension_overflow']

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=['ImageDecoder::total_bytes', 'BmpDecoder::read_palette', 'Limits::check_dimensions', 'expand_rgb15_to_rgb24', 'ColorType::channel_count', 'ColorMap::get', 'gcd', 'Header::from_reader', 'HeaderReader::read_magic_constant', 'ImageBuffer::inner_pixels']

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

Directories in report

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

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_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_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
roundtrip_webp fuzzerLogFile-roundtrip_webp.data fuzzerLogFile-roundtrip_webp.data.yaml roundtrip_webp.covreport
fuzzer_script_tiff fuzzerLogFile-fuzzer_script_tiff.data fuzzerLogFile-fuzzer_script_tiff.data.yaml fuzzer_script_tiff.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_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_tga fuzzerLogFile-fuzzer_script_tga.data fuzzerLogFile-fuzzer_script_tga.data.yaml fuzzer_script_tga.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