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_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 587 100.%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 0 0.0%
All colors 587 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
586 0 EP call site: 00000 ImageReader::into_frames

Runtime coverage analysis

Covered functions
2
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.
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 19
src/hooks.rs 29
src/io/free_functions.rs 15
src/io/image_reader_type.rs 59
tests/limits_anim.rs 7
src/images/buffer.rs 9
src/images/buffer_par.rs 3
tests/metadata.rs 7
src/codecs/farbfeld.rs 14
src/io/decoder.rs 3
src/images/flat.rs 1
src/codecs/hdr/decoder.rs 7
src/color.rs 5
src/io.rs 3
src/traits.rs 6
src/codecs/pnm/header.rs 6
src/metadata.rs 16
src/io/limits.rs 6
src/imageops/mod.rs 11
src/images/generic_image.rs 3
src/error.rs 1
src/codecs/avif/encoder.rs 4
tests/regression.rs 2
src/metadata/moxcms.rs 3
src/metadata/cicp.rs 7
src/imageops/affine.rs 10

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 556 87.8%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 77 12.1%
All colors 633 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
90 274 ImageReader::set_limits call site: 00274 ImageReader::into_frames
79 66 ImageLayout::total_bytes call site: 00066 Orientation::locate_orientation_entry
71 366 MetadataBlock::get call site: 00366 ImageReader::decode_to_dynimage
66 543 DecodedImageMetadata::apply_metdata call site: 00543 Orientation::locate_orientation_entry
35 153 Limits::check_dimensions call site: 00153 ImageReader::decode_into
31 12 ImageReader::fill_header_metadata_if_any call site: 00012 ImageReader::decode_into
30 475 decoder_to_image call site: 00475 ImageBuffer::from_raw
29 208 ImageBuffer::from_raw call site: 00208 Header::write_to
21 611 ImageReader::decode_to_dynimage call site: 00611 I::m::a::g::e::R::e::a::d::e::r::::::::i::n::t::o::_::f::r::a::m::e::s::is_end_reached
18 44 ImageLayout::total_bytes call site: 00044 Enlargeable::clamp_from
18 522 DecodedImageMetadata::exif_metadata call site: 00522 Moxcms::parse_icc
13 249 ImageReaderOptions::set_format call site: 00249

Runtime coverage analysis

Covered functions
170
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 7
src/color.rs 5
src/io/image_reader_type.rs 59
src/io/decoder.rs 3
src/images/flat.rs 1
src/io.rs 3
src/traits.rs 6
src/hooks.rs 29
src/codecs/pnm/header.rs 6
src/metadata.rs 16
src/io/limits.rs 6
src/images/buffer.rs 10
src/codecs/avif/encoder.rs 4
src/codecs/tga/header.rs 4
src/images/dynimage.rs 19
src/io/free_functions.rs 15
tests/limits_anim.rs 7
src/images/buffer_par.rs 3
tests/metadata.rs 7
src/codecs/farbfeld.rs 14
src/imageops/mod.rs 11
src/images/generic_image.rs 3
src/error.rs 1
tests/regression.rs 2
src/metadata/moxcms.rs 3
src/metadata/cicp.rs 7
src/imageops/affine.rs 10

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 483 82.2%
gold [1:9] 0 0.0%
yellow [10:29] 10 1.70%
greenyellow [30:49] 2 0.34%
lawngreen 50+ 92 15.6%
All colors 587 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
84 285 ImageLayout::total_bytes_overflows_u64 call site: 00285 ImageReader::decode_into
66 498 DecodedImageMetadata::apply_metdata call site: 00498 Orientation::locate_orientation_entry
65 147 PnmHeader::subtype call site: 00147 Orientation::locate_orientation_entry
61 220 Limits::check_dimensions call site: 00220 ImageReader::decode_into
29 56 ImageBuffer::image_buffer_len call site: 00056 ImageReader::decode_into
29 87 ImageDecoder::format_attributes call site: 00087 ImageReader::decode_into
20 566 ImageReader::decode_to_dynimage call site: 00566 I::m::a::g::e::R::e::a::d::e::r::::::::i::n::t::o::_::f::r::a::m::e::s::is_end_reached
18 117 ImageLayout::total_bytes call site: 00117 Enlargeable::clamp_from
18 477 DecodedImageMetadata::exif_metadata call site: 00477 Moxcms::parse_icc
16 19 ImageReaderOptions::set_format call site: 00019
11 399 ImageLayout::total_bytes call site: 00399
9 2 image::load_from_memory_with_format call site: 00002

Runtime coverage analysis

Covered functions
191
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 19
src/hooks.rs 29
src/io/free_functions.rs 15
src/io/image_reader_type.rs 59
tests/limits_anim.rs 7
src/images/buffer.rs 9
src/images/buffer_par.rs 3
tests/metadata.rs 7
src/codecs/farbfeld.rs 14
src/io/decoder.rs 3
src/images/flat.rs 1
src/codecs/hdr/decoder.rs 7
src/color.rs 5
src/io.rs 3
src/traits.rs 6
src/codecs/pnm/header.rs 6
src/metadata.rs 16
src/io/limits.rs 6
src/imageops/mod.rs 11
src/images/generic_image.rs 3
src/error.rs 1
src/codecs/avif/encoder.rs 4
tests/regression.rs 2
src/metadata/moxcms.rs 3
src/metadata/cicp.rs 7
src/imageops/affine.rs 10

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 509 86.7%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 2 0.34%
lawngreen 50+ 76 12.9%
All colors 587 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
149 220 Limits::check_dimensions call site: 00220 ImageReader::decode_into
73 139 ImageLayout::total_bytes call site: 00139 Orientation::locate_orientation_entry
66 498 DecodedImageMetadata::apply_metdata call site: 00498 Orientation::locate_orientation_entry
30 86 ImageReader::fill_header_metadata_if_any call site: 00086 ImageReader::decode_into
30 430 decoder_to_image call site: 00430 ImageBuffer::from_raw
29 56 ImageBuffer::image_buffer_len call site: 00056 ImageReader::decode_into
20 566 ImageReader::decode_to_dynimage call site: 00566 I::m::a::g::e::R::e::a::d::e::r::::::::i::n::t::o::_::f::r::a::m::e::s::is_end_reached
18 117 ImageLayout::total_bytes call site: 00117 Enlargeable::clamp_from
18 477 DecodedImageMetadata::exif_metadata call site: 00477 Moxcms::parse_icc
16 19 ImageReaderOptions::set_format call site: 00019
11 399 ImageLayout::total_bytes call site: 00399
9 2 image::load_from_memory_with_format call site: 00002

Runtime coverage analysis

Covered functions
213
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 19
src/hooks.rs 29
src/io/free_functions.rs 15
src/io/image_reader_type.rs 59
tests/limits_anim.rs 7
src/images/buffer.rs 9
src/images/buffer_par.rs 3
tests/metadata.rs 7
src/codecs/farbfeld.rs 14
src/io/decoder.rs 3
src/images/flat.rs 1
src/codecs/hdr/decoder.rs 7
src/color.rs 5
src/io.rs 3
src/traits.rs 6
src/codecs/pnm/header.rs 6
src/metadata.rs 16
src/io/limits.rs 6
src/imageops/mod.rs 11
src/images/generic_image.rs 3
src/error.rs 1
src/codecs/avif/encoder.rs 4
tests/regression.rs 2
src/metadata/moxcms.rs 3
src/metadata/cicp.rs 7
src/imageops/affine.rs 10

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 474 80.7%
gold [1:9] 22 3.74%
yellow [10:29] 8 1.36%
greenyellow [30:49] 4 0.68%
lawngreen 50+ 79 13.4%
All colors 587 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
77 227 ColorType::channel_count call site: 00227 ImageReader::decode_into
73 139 ImageLayout::total_bytes call site: 00139 Orientation::locate_orientation_entry
60 309 MetadataBlock::get call site: 00309 overlay_bounds_ext
45 519 Orientation::from_exif_chunk call site: 00519 rotate90_in
29 56 ImageBuffer::image_buffer_len call site: 00056 ImageReader::decode_into
20 566 ImageReader::decode_to_dynimage call site: 00566 I::m::a::g::e::R::e::a::d::e::r::::::::i::n::t::o::_::f::r::a::m::e::s::is_end_reached
19 97 ColorType::channel_count call site: 00097 ImageReader::fill_header_metadata_if_any
18 117 ImageLayout::total_bytes call site: 00117 Enlargeable::clamp_from
16 19 ImageReaderOptions::set_format call site: 00019
15 503 Orientation::from_exif_chunk_inner call site: 00503 Orientation::locate_orientation_entry
14 481 Moxcms::parse_icc call site: 00481 Cicp::try_into_rgb
11 399 ImageLayout::total_bytes call site: 00399

Runtime coverage analysis

Covered functions
575
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 19
src/hooks.rs 29
src/io/free_functions.rs 15
src/io/image_reader_type.rs 59
tests/limits_anim.rs 7
src/images/buffer.rs 9
src/images/buffer_par.rs 3
tests/metadata.rs 7
src/codecs/farbfeld.rs 14
src/io/decoder.rs 3
src/images/flat.rs 1
src/codecs/hdr/decoder.rs 7
src/color.rs 5
src/io.rs 3
src/traits.rs 6
src/codecs/pnm/header.rs 6
src/metadata.rs 16
src/io/limits.rs 6
src/imageops/mod.rs 11
src/images/generic_image.rs 3
src/error.rs 1
src/codecs/avif/encoder.rs 4
tests/regression.rs 2
src/metadata/moxcms.rs 3
src/metadata/cicp.rs 7
src/imageops/affine.rs 10

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 471 80.2%
gold [1:9] 0 0.0%
yellow [10:29] 11 1.87%
greenyellow [30:49] 7 1.19%
lawngreen 50+ 98 16.6%
All colors 587 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
77 227 ColorType::channel_count call site: 00227 ImageReader::decode_into
73 139 ImageLayout::total_bytes call site: 00139 Orientation::locate_orientation_entry
68 309 MetadataBlock::get call site: 00309 ImageReader::decode_to_dynimage
45 519 Orientation::from_exif_chunk call site: 00519 rotate90_in
29 56 ImageBuffer::image_buffer_len call site: 00056 ImageReader::decode_into
20 566 ImageReader::decode_to_dynimage call site: 00566 I::m::a::g::e::R::e::a::d::e::r::::::::i::n::t::o::_::f::r::a::m::e::s::is_end_reached
19 97 ColorType::channel_count call site: 00097 ImageReader::fill_header_metadata_if_any
18 117 ImageLayout::total_bytes call site: 00117 Enlargeable::clamp_from
16 19 ImageReaderOptions::set_format call site: 00019
14 481 Moxcms::parse_icc call site: 00481 Cicp::try_into_rgb
11 399 ImageLayout::total_bytes call site: 00399
11 414 ImageBuffer::check_image_fits call site: 00414 ImageReader::decode_into

Runtime coverage analysis

Covered functions
441
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 19
src/hooks.rs 29
src/io/free_functions.rs 15
src/io/image_reader_type.rs 59
tests/limits_anim.rs 7
src/images/buffer.rs 9
src/images/buffer_par.rs 3
tests/metadata.rs 7
src/codecs/farbfeld.rs 14
src/io/decoder.rs 3
src/images/flat.rs 1
src/codecs/hdr/decoder.rs 7
src/color.rs 5
src/io.rs 3
src/traits.rs 6
src/codecs/pnm/header.rs 6
src/metadata.rs 16
src/io/limits.rs 6
src/imageops/mod.rs 11
src/images/generic_image.rs 3
src/error.rs 1
src/codecs/avif/encoder.rs 4
tests/regression.rs 2
src/metadata/moxcms.rs 3
src/metadata/cicp.rs 7
src/imageops/affine.rs 10

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 494 84.1%
gold [1:9] 0 0.0%
yellow [10:29] 3 0.51%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 90 15.3%
All colors 587 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
82 222 Box::read_image call site: 00222 ImageReader::decode_into
73 139 ImageLayout::total_bytes call site: 00139 Orientation::locate_orientation_entry
66 498 DecodedImageMetadata::apply_metdata call site: 00498 Orientation::locate_orientation_entry
60 309 MetadataBlock::get call site: 00309 overlay_bounds_ext
30 430 decoder_to_image call site: 00430 ImageBuffer::from_raw
24 92 ImageReader::fill_header_metadata_if_any call site: 00092 ImageReader::decode_into
21 64 ImageBuffer::subpixels_mut call site: 00064 ImageReader::decode_into
20 566 ImageReader::decode_to_dynimage call site: 00566 I::m::a::g::e::R::e::a::d::e::r::::::::i::n::t::o::_::f::r::a::m::e::s::is_end_reached
18 117 ImageLayout::total_bytes call site: 00117 Enlargeable::clamp_from
16 19 ImageReaderOptions::set_format call site: 00019
14 481 Moxcms::parse_icc call site: 00481 Cicp::try_into_rgb
9 2 image::load_from_memory_with_format call site: 00002

Runtime coverage analysis

Covered functions
237
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 19
src/hooks.rs 29
src/io/free_functions.rs 15
src/io/image_reader_type.rs 59
tests/limits_anim.rs 7
src/images/buffer.rs 9
src/images/buffer_par.rs 3
tests/metadata.rs 7
src/codecs/farbfeld.rs 14
src/io/decoder.rs 3
src/images/flat.rs 1
src/codecs/hdr/decoder.rs 7
src/color.rs 5
src/io.rs 3
src/traits.rs 6
src/codecs/pnm/header.rs 6
src/metadata.rs 16
src/io/limits.rs 6
src/imageops/mod.rs 11
src/images/generic_image.rs 3
src/error.rs 1
src/codecs/avif/encoder.rs 4
tests/regression.rs 2
src/metadata/moxcms.rs 3
src/metadata/cicp.rs 7
src/imageops/affine.rs 10

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 472 80.4%
gold [1:9] 9 1.53%
yellow [10:29] 6 1.02%
greenyellow [30:49] 9 1.53%
lawngreen 50+ 91 15.5%
All colors 587 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
84 220 Limits::check_dimensions call site: 00220 ImageReader::decode_into
68 309 MetadataBlock::get call site: 00309 ImageReader::decode_to_dynimage
55 139 ImageLayout::total_bytes call site: 00139 Orientation::locate_orientation_entry
29 56 ImageBuffer::image_buffer_len call site: 00056 ImageReader::decode_into
27 433 decoder_to_image call site: 00433 ImageBuffer::from_raw
24 92 ImageReader::fill_header_metadata_if_any call site: 00092 ImageReader::decode_into
20 566 ImageReader::decode_to_dynimage call site: 00566 I::m::a::g::e::R::e::a::d::e::r::::::::i::n::t::o::_::f::r::a::m::e::s::is_end_reached
18 117 ImageLayout::total_bytes call site: 00117 Enlargeable::clamp_from
16 19 ImageReaderOptions::set_format call site: 00019
14 481 Moxcms::parse_icc call site: 00481 Cicp::try_into_rgb
14 521 DynamicImage::apply_orientation call site: 00521 rotate90_in
11 399 ImageLayout::total_bytes call site: 00399

Runtime coverage analysis

Covered functions
378
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 19
src/hooks.rs 29
src/io/free_functions.rs 15
src/io/image_reader_type.rs 59
tests/limits_anim.rs 7
src/images/buffer.rs 9
src/images/buffer_par.rs 3
tests/metadata.rs 7
src/codecs/farbfeld.rs 14
src/io/decoder.rs 3
src/images/flat.rs 1
src/codecs/hdr/decoder.rs 7
src/color.rs 5
src/io.rs 3
src/traits.rs 6
src/codecs/pnm/header.rs 6
src/metadata.rs 16
src/io/limits.rs 6
src/imageops/mod.rs 11
src/images/generic_image.rs 3
src/error.rs 1
src/codecs/avif/encoder.rs 4
tests/regression.rs 2
src/metadata/moxcms.rs 3
src/metadata/cicp.rs 7
src/imageops/affine.rs 10

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 487 82.9%
gold [1:9] 4 0.68%
yellow [10:29] 0 0.0%
greenyellow [30:49] 8 1.36%
lawngreen 50+ 88 14.9%
All colors 587 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
84 220 Limits::check_dimensions call site: 00220 ImageReader::decode_into
73 139 ImageLayout::total_bytes call site: 00139 Orientation::locate_orientation_entry
45 519 Orientation::from_exif_chunk call site: 00519 rotate90_in
44 312 MetadataBlock::get call site: 00312 overlay_bounds_ext
30 430 decoder_to_image call site: 00430 ImageBuffer::from_raw
29 56 ImageBuffer::image_buffer_len call site: 00056 ImageReader::decode_into
23 93 ImageReader::fill_header_metadata_if_any call site: 00093 ImageReader::decode_into
20 357 MetadataBlock::get call site: 00357 ImageReader::decode_to_dynimage
20 566 ImageReader::decode_to_dynimage call site: 00566 I::m::a::g::e::R::e::a::d::e::r::::::::i::n::t::o::_::f::r::a::m::e::s::is_end_reached
18 117 ImageLayout::total_bytes call site: 00117 Enlargeable::clamp_from
16 19 ImageReaderOptions::set_format call site: 00019
15 503 Orientation::from_exif_chunk_inner call site: 00503 Orientation::locate_orientation_entry

Runtime coverage analysis

Covered functions
378
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 19
src/hooks.rs 29
src/io/free_functions.rs 15
src/io/image_reader_type.rs 59
tests/limits_anim.rs 7
src/images/buffer.rs 9
src/images/buffer_par.rs 3
tests/metadata.rs 7
src/codecs/farbfeld.rs 14
src/io/decoder.rs 3
src/images/flat.rs 1
src/codecs/hdr/decoder.rs 7
src/color.rs 5
src/io.rs 3
src/traits.rs 6
src/codecs/pnm/header.rs 6
src/metadata.rs 16
src/io/limits.rs 6
src/imageops/mod.rs 11
src/images/generic_image.rs 3
src/error.rs 1
src/codecs/avif/encoder.rs 4
tests/regression.rs 2
src/metadata/moxcms.rs 3
src/metadata/cicp.rs 7
src/imageops/affine.rs 10

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 491 83.6%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 3 0.51%
lawngreen 50+ 93 15.8%
All colors 587 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
84 285 ImageLayout::total_bytes_overflows_u64 call site: 00285 ImageReader::decode_into
73 139 ImageLayout::total_bytes call site: 00139 Orientation::locate_orientation_entry
66 498 DecodedImageMetadata::apply_metdata call site: 00498 Orientation::locate_orientation_entry
48 233 &RgbaImage::len call site: 00233 ImageReader::decode_into
29 56 ImageBuffer::image_buffer_len call site: 00056 ImageReader::decode_into
20 96 &RgbaImage::len call site: 00096 ImageReader::decode_into
20 566 ImageReader::decode_to_dynimage call site: 00566 I::m::a::g::e::R::e::a::d::e::r::::::::i::n::t::o::_::f::r::a::m::e::s::is_end_reached
18 117 ImageLayout::total_bytes call site: 00117 Enlargeable::clamp_from
18 477 DecodedImageMetadata::exif_metadata call site: 00477 Moxcms::parse_icc
17 425 ImageBuffer::from_raw call site: 00425 ImageBuffer::from_raw
16 19 ImageReaderOptions::set_format call site: 00019
15 445 decoder_to_image call site: 00445 ImageBuffer::from_raw

Runtime coverage analysis

Covered functions
101
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 19
src/hooks.rs 29
src/io/free_functions.rs 15
src/io/image_reader_type.rs 59
tests/limits_anim.rs 7
src/images/buffer.rs 9
src/images/buffer_par.rs 3
tests/metadata.rs 7
src/codecs/farbfeld.rs 14
src/io/decoder.rs 3
src/images/flat.rs 1
src/codecs/hdr/decoder.rs 7
src/color.rs 5
src/io.rs 3
src/traits.rs 6
src/codecs/pnm/header.rs 6
src/metadata.rs 16
src/io/limits.rs 6
src/imageops/mod.rs 11
src/images/generic_image.rs 3
src/error.rs 1
src/codecs/avif/encoder.rs 4
tests/regression.rs 2
src/metadata/moxcms.rs 3
src/metadata/cicp.rs 7
src/imageops/affine.rs 10

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 256 71.1%
gold [1:9] 20 5.55%
yellow [10:29] 4 1.11%
greenyellow [30:49] 7 1.94%
lawngreen 50+ 73 20.2%
All colors 360 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
125 86 ImageLayout::total_bytes call site: 00086 ImageReader::decode_into
34 29 DecodingError::new call site: 00029 ImageReader::decode_into
20 315 image::codecs::tga::TgaDecoder::new call site: 00315
18 64 ImageLayout::total_bytes call site: 00064 Enlargeable::clamp_from
14 212 image::codecs::tga::TgaDecoder::new call site: 00212 ImageReader::fill_header_metadata_if_any
14 242 image::codecs::tga::TgaDecoder::new call site: 00242 ImageReader::fill_header_metadata_if_any
8 286 R::read_exact_vec call site: 00286 ImageReader::decode_into
6 302 R::read_exact_vec call site: 00302
3 259 image::codecs::tga::TgaDecoder::new call site: 00259 ImageReader::decode_into
3 281 image::codecs::tga::TgaDecoder::new call site: 00281
3 344 decode call site: 00344
2 4 Header::from_reader call site: 00004

Runtime coverage analysis

Covered functions
46
Functions that are reachable but not covered
2
Reachable functions
8
Percentage of reachable functions covered
75.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_tga.rs 2
tests/limits_anim.rs 6
src/hooks.rs 40
src/codecs/tga/header.rs 5
src/images/flat.rs 2
src/io/image_reader_type.rs 19
src/io/decoder.rs 3
src/codecs/hdr/decoder.rs 7
src/color.rs 5
src/io.rs 13
src/traits.rs 6
src/codecs/pnm/header.rs 6
src/metadata.rs 10
src/io/limits.rs 5
src/codecs/openexr.rs 4
src/images/buffer.rs 10
src/images/buffer_par.rs 3
src/codecs/tga/decoder.rs 2

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 746 95.1%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 38 4.84%
All colors 784 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
332 165 ColorType::channel_count call site: 00165 BmpDecoder::read_bitmap_os2v2_header
139 519 OpenExrDecoder::with_alpha_preference call site: 00519 Delay::closest_bounded_fraction
79 71 ImageLayout::total_bytes call site: 00071 Orientation::locate_orientation_entry
46 733 roundtrip call site: 00733 ImageReader::decode_into
20 8 OpenExrDecoder::with_alpha_preference call site: 00008 ImageReader::decode_into
20 498 OpenExrDecoder::with_alpha_preference call site: 00498
19 29 ColorType::channel_count call site: 00029 ImageReader::fill_header_metadata_if_any
19 659 OpenExrDecoder::with_alpha_preference call site: 00659 ImageReader::decode_into
18 49 ImageLayout::total_bytes call site: 00049 Enlargeable::clamp_from
18 694 ImageLayout::total_bytes call site: 00694 ImageReader::set_limits
8 724 roundtrip call site: 00724 ImageReader::decode_into
6 151 Limits::check_layout_dimensions call site: 00151

Runtime coverage analysis

Covered functions
1620
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 16
src/codecs/tiff.rs 6
src/codecs/openexr.rs 35
src/hooks.rs 22
src/codecs/bmp/decoder.rs 63
src/io/image_reader_type.rs 28
src/io/decoder.rs 3
src/images/flat.rs 1
src/codecs/hdr/decoder.rs 7
src/color.rs 10
src/io.rs 3
src/traits.rs 8
src/codecs/pnm/header.rs 6
src/metadata.rs 10
src/io/limits.rs 5
src/codecs/farbfeld.rs 13
src/images/buffer.rs 10
src/images/buffer_par.rs 3
src/animation.rs 18
src/imageops/mod.rs 11
src/images/generic_image.rs 2
src/error.rs 1
src/utils/mod.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 500 83.8%
gold [1:9] 9 1.51%
yellow [10:29] 16 2.68%
greenyellow [30:49] 1 0.16%
lawngreen 50+ 70 11.7%
All colors 596 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
133 426 image::load_from_memory call site: 00426 Header::from_reader
66 269 MetadataBlock::get call site: 00269 overlay_bounds_ext
49 339 MetadataBlock::get call site: 00339 Delay::closest_bounded_fraction
47 108 PnmHeader::subtype call site: 00108 Orientation::locate_orientation_entry
35 230 ImageBuffer::subpixels_mut call site: 00230 GifEncoder::set_repeat
28 49 ImageReader::fill_header_metadata_if_any call site: 00049 ImageReader::decode_into
23 563 to_image_err call site: 00563 ImageReader::decode_into
18 78 ImageLayout::total_bytes call site: 00078 Enlargeable::clamp_from
15 181 Limits::check_dimensions call site: 00181 Limits::check_layout_dimensions
10 163 Orientation::from_exif call site: 00163 Limits::check_layout_dimensions
9 6 image::load_from_memory call site: 00006
7 30 hooks::guess_format_extension call site: 00030

Runtime coverage analysis

Covered functions
2872
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 56
src/io/image_reader_type.rs 38
src/codecs/hdr/decoder.rs 7
src/color.rs 5
src/io/decoder.rs 3
src/images/flat.rs 2
src/io.rs 13
src/traits.rs 8
src/codecs/pnm/header.rs 6
src/metadata.rs 10
src/io/limits.rs 5
src/images/buffer.rs 10
src/images/buffer_par.rs 3
src/codecs/gif.rs 6
src/animation.rs 18
src/imageops/mod.rs 11
src/images/generic_image.rs 2
src/error.rs 1
src/io/free_functions.rs 10
tests/limits_anim.rs 7
src/codecs/tga/header.rs 5
src/codecs/openexr.rs 4
src/codecs/tga/decoder.rs 2

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_tiff.rs

Dictionary

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


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::set_limits', 'ImageLayout::total_bytes', 'MetadataBlock::get', 'DecodedImageMetadata::apply_metdata', 'Limits::check_dimensions', 'ImageReader::fill_header_metadata_if_any', 'decoder_to_image', 'ImageBuffer::from_raw', 'ImageReader::decode_to_dynimage']

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=['ImageLayout::total_bytes_overflows_u64', 'DecodedImageMetadata::apply_metdata', 'PnmHeader::subtype', 'Limits::check_dimensions', 'ImageBuffer::image_buffer_len', 'ImageDecoder::format_attributes', 'ImageReader::decode_to_dynimage', 'ImageLayout::total_bytes', 'DecodedImageMetadata::exif_metadata', 'ImageReaderOptions::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=['Limits::check_dimensions', 'ImageLayout::total_bytes', 'DecodedImageMetadata::apply_metdata', 'ImageReader::fill_header_metadata_if_any', 'decoder_to_image', 'ImageBuffer::image_buffer_len', 'ImageReader::decode_to_dynimage', 'DecodedImageMetadata::exif_metadata', 'ImageReaderOptions::set_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=['ColorType::channel_count', 'ImageLayout::total_bytes', 'MetadataBlock::get', 'Orientation::from_exif_chunk', 'ImageBuffer::image_buffer_len', 'ImageReader::decode_to_dynimage', 'ImageReaderOptions::set_format', 'Orientation::from_exif_chunk_inner']

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', 'ImageLayout::total_bytes', 'MetadataBlock::get', 'Orientation::from_exif_chunk', 'ImageBuffer::image_buffer_len', 'ImageReader::decode_to_dynimage', 'ImageReaderOptions::set_format', 'Moxcms::parse_icc']

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=['Box::read_image', 'ImageLayout::total_bytes', 'DecodedImageMetadata::apply_metdata', 'MetadataBlock::get', 'decoder_to_image', 'ImageReader::fill_header_metadata_if_any', 'ImageBuffer::subpixels_mut', 'ImageReader::decode_to_dynimage', 'ImageReaderOptions::set_format']

fuzz/fuzzers/fuzzer_script_jpeg.rs

Dictionary

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


Fuzzer function priority

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

-focus_function=['Limits::check_dimensions', 'MetadataBlock::get', 'ImageLayout::total_bytes', 'ImageBuffer::image_buffer_len', 'decoder_to_image', 'ImageReader::fill_header_metadata_if_any', 'ImageReader::decode_to_dynimage', 'ImageReaderOptions::set_format', 'Moxcms::parse_icc']

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=['Limits::check_dimensions', 'ImageLayout::total_bytes', 'Orientation::from_exif_chunk', 'MetadataBlock::get', 'decoder_to_image', 'ImageBuffer::image_buffer_len', 'ImageReader::fill_header_metadata_if_any', 'ImageReader::decode_to_dynimage']

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=['ImageLayout::total_bytes_overflows_u64', 'ImageLayout::total_bytes', 'DecodedImageMetadata::apply_metdata', '&RgbaImage::len', 'ImageBuffer::image_buffer_len', 'ImageReader::decode_to_dynimage', 'DecodedImageMetadata::exif_metadata', 'ImageBuffer::from_raw']

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=['ImageLayout::total_bytes', 'DecodingError::new', 'image::codecs::tga::TgaDecoder::new', 'R::read_exact_vec']

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=['ColorType::channel_count', 'OpenExrDecoder::with_alpha_preference', 'ImageLayout::total_bytes', 'roundtrip']

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=['image::load_from_memory', 'MetadataBlock::get', 'PnmHeader::subtype', 'ImageBuffer::subpixels_mut', 'ImageReader::fill_header_metadata_if_any', 'to_image_err', 'ImageLayout::total_bytes', 'Limits::check_dimensions', 'Orientation::from_exif']

Runtime coverage analysis

This section shows analysis of runtime coverage data.

For futher technical details on how this section is generated, please see the Glossary .

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
image_webp::encoder::WebPEncoder&mut std::io::cursor::Cursoralloc::vec::Vecu8::encode 61 19 31.14%
image::color::ExtendedColorType::bits_per_pixel 35 5 14.28%
u32 as core::convert::Frommoxcms::tag::Tag::from 33 13 39.39%
moxcms::profile::ColorProfile::encode 207 112 54.10%
moxcms::writer::write_trc_entry 37 19 51.35%
image::metadata::moxcms::Moxcms as image::metadata::CmsProvider::parse_icc 53 4 7.547%
moxcms::profile::ColorProfile::read_cicp_tag 32 11 34.37%
moxcms::profile::ColorProfile::read_string_tag 100 52 52.0%
moxcms::profile::ColorProfile::read_chad_tag 34 9 26.47%
crossbeam_deque::deque::Workerrayon_core::job::JobRef::pop 53 7 13.20%
exr::compression::dwa::decompress 50 15 30.0%
exr::compression::Compression::compress_image_section_to_le 56 25 44.64%
exr::compression::piz::decompress 69 31 44.92%
exr::meta::attribute::AttributeValue::write::exr::io::Tracking&mut std::io::cursor::Cursor&mut alloc::vec::Vecu8 46 15 32.60%
exr::meta::attribute::AttributeValue::read::exr::io::Trackingstd::io::cursor::Cursoralloc::vec::Vecu8::{closure:#0} 60 21 35.0%
exr::meta::attribute::AttributeValue::byte_size 32 12 37.5%
exr::meta::header::Header::read::exr::io::Trackingstd::io::cursor::Cursoralloc::vec::Vecu8 174 77 44.25%
smallvec::SmallVec[u8; 16]::try_grow 31 17 54.83%
exr::compression::pxr24::decompress 57 13 22.80%
tiff::decoder::invert_colors 40 21 52.5%
tiff::decoder::rev_hpredict_nsamp 52 13 25.0%

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

Directories in report

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

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