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

Fuzzer details

Fuzzer: mux_demux_api_fuzzer

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 16 4.76%
gold [1:9] 0 0.0%
yellow [10:29] 2 0.59%
greenyellow [30:49] 5 1.48%
lawngreen 50+ 313 93.1%
All colors 336 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
2 2 1 :

['VP8LSetEndOfStream']

2 2 VP8LReadBits call site /src/libwebp/src/utils/bit_reader_utils.c:211
0 21 1 :

['MuxImageCount']

0 21 SearchImageToGetOrDelete call site /src/libwebp/src/mux/muxinternal.c:284
0 0 None 0 16 MuxImageParse call site /src/libwebp/src/mux/muxread.c:152
0 0 None 0 15 MuxImageCount call site /src/libwebp/src/mux/muxinternal.c:262
0 0 None 0 3 ParseSingleImage call site /src/libwebp/src/demux/demux.c:435
0 0 None 0 3 ParseAnimationFrame call site /src/libwebp/src/demux/demux.c:347
0 0 None 0 0 VP8LGetInfo call site /src/libwebp/src/dec/vp8l_dec.c:138
0 0 None 0 0 WebPGetFeaturesInternal call site /src/libwebp/src/dec/webp_dec.c:739
0 0 None 0 0 ParseHeadersInternal call site /src/libwebp/src/dec/webp_dec.c:331
0 0 None 0 0 ParseHeadersInternal call site /src/libwebp/src/dec/webp_dec.c:337
0 0 None 0 0 ParseHeadersInternal call site /src/libwebp/src/dec/webp_dec.c:355
0 0 None 0 0 ParseHeadersInternal call site /src/libwebp/src/dec/webp_dec.c:387

Runtime coverage analysis

Covered functions
137
Functions that are reachable but not covered
2
Reachable functions
123
Percentage of reachable functions covered
98.37%
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
tests/fuzzer/mux_demux_api_fuzzer.c 1
./src/webp/./mux_types.h 2
./src/webp/mux.h 1
src/mux/muxread.c 18
src/mux/muxinternal.c 29
src/mux/../../src/utils/utils.h 6
src/mux/../../src/webp/mux.h 1
src/mux/muxedit.c 5
src/utils/utils.c 6
src/utils/../../src/utils/utils.h 1
src/mux/../../src/mux/muxi.h 3
src/mux/../../src/webp/./mux_types.h 3
src/dec/vp8l_dec.c 3
src/utils/bit_reader_utils.c 4
src/utils/../../src/utils/bit_reader_utils.h 2
src/dec/vp8_dec.c 2
./src/webp/demux.h 2
src/demux/demux.c 27
src/demux/../../src/utils/utils.h 2
src/demux/../../src/webp/./decode.h 1
src/dec/webp_dec.c 8
src/dec/../../src/utils/utils.h 3

Fuzzer: animencoder_fuzzer

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 1277 29.6%
gold [1:9] 1 0.02%
yellow [10:29] 0 0.0%
greenyellow [30:49] 3 0.06%
lawngreen 50+ 3023 70.2%
All colors 4304 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
6549 6885 5 :

['WebPMuxGetCanvasSize', 'WebPMuxAssemble', 'WebPDataInit', 'WebPMuxSetImage', 'FrameToFullCanvas']

6549 6961 OptimizeSingleFrame call site /src/libwebp/src/mux/anim_encode.c:1496
50 50 1 :

['MuxGetFrameInternal']

50 50 WebPMuxGetFrame call site /src/libwebp/src/mux/muxread.c:492
9 9 1 :

['VP8EncFreeBitWriters']

9 26 WebPEncode call site /src/libwebp/src/enc/webp_enc.c:390
9 9 1 :

['SharpYuvFilterRow32_SSE2']

9 9 SharpYuvFilterRow_SSE2 call site /src/libwebp/sharpyuv/sharpyuv_sse2.c:179
9 9 1 :

['VP8EncFreeBitWriters']

9 9 PostLoopFinalize call site /src/libwebp/src/enc/frame_enc.c:707
7 7 2 :

['FlattenARGB', 'IsTransparentARGBArea']

7 7 WebPCleanupTransparentArea call site /src/libwebp/src/enc/picture_tools_enc.c:106
4 8 4 :

['VP8LColorCacheGetIndex', 'VP8LColorCacheLookup.4789', 'PixOrCopyCreateCacheIdx', 'VP8LColorCacheSet']

4 29 AddSingleLiteral call site /src/libwebp/src/enc/backward_references_enc.c:459
4 7 3 :

['pthread_mutex_destroy', 'pthread_cond_destroy', 'WebPSafeFree']

4 7 Reset call site /src/libwebp/src/utils/thread_utils.c:298
4 4 1 :

['CheckSlowModel']

4 4 x86CPUInfo call site /src/libwebp/src/dsp/cpu.c:151
2 55 2 :

['WebPAnimEncoderDelete', 'abort']

2 67 (anonymousnamespace)::AddFrame(WebPAnimEncoder**,WebPAnimEncoderOptionsconst&,int*,int*,int,unsignedcharconst*,unsignedlong,unsignedint*) call site /src/libwebp/tests/fuzzer/animencoder_fuzzer.cc:107
2 44 3 :

['x86CPUInfo', 'GetCPUInfo', 'xgetbv']

2 44 x86CPUInfo call site /src/libwebp/src/dsp/cpu.c:158
2 2 1 :

['log']

2 2 FastLog2Slow_C call site /src/libwebp/src/dsp/lossless_enc.c:367

Runtime coverage analysis

Covered functions
1084
Functions that are reachable but not covered
405
Reachable functions
1449
Percentage of reachable functions covered
72.05%
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
tests/fuzzer/animencoder_fuzzer.cc 2
tests/fuzzer/./fuzz_utils.h 7
./src/webp/mux.h 2
src/mux/anim_encode.c 47
src/enc/picture_enc.c 13
src/utils/utils.c 9
src/mux/../../src/webp/./mux_types.h 3
src/mux/muxedit.c 24
src/mux/muxinternal.c 30
./src/webp/encode.h 2
src/enc/webp_enc.c 12
src/enc/picture_csp_enc.c 22
src/dsp/alpha_processing.c 22
src/dsp/alpha_processing_sse2.c 10
src/dsp/alpha_processing_sse41.c 2
src/utils/../../src/utils/utils.h 3
sharpyuv/sharpyuv.c 19
sharpyuv/sharpyuv_dsp.c 5
sharpyuv/sharpyuv_sse2.c 8
sharpyuv/sharpyuv_gamma.c 5
sharpyuv/sharpyuv_csp.c 1
src/utils/random_utils.c 1
src/dsp/yuv.c 8
src/dsp/../../src/dsp/yuv.h 15
src/dsp/yuv_sse2.c 27
src/dsp/../../src/dsp/common_sse2.h 4
src/dsp/yuv_sse41.c 18
src/dsp/../../src/dsp/common_sse41.h 2
src/enc/../../src/dsp/yuv.h 4
src/enc/../../src/utils/random_utils.h 2
src/dsp/lossless.c 37
src/dsp/../../src/dsp/lossless_common.h 5
src/dsp/lossless_sse2.c 40
src/dsp/lossless_sse41.c 4
src/enc/picture_rescale_enc.c 10
src/utils/rescaler_utils.c 5
src/dsp/rescaler.c 8
src/dsp/../../src/utils/rescaler_utils.h 2
src/dsp/rescaler_sse2.c 9
src/dsp/../../src/utils/utils.h 6
src/utils/../../src/utils/rescaler_utils.h 2
src/mux/../../src/webp/encode.h 2
src/mux/../../src/webp/mux.h 2
src/enc/config_enc.c 2
src/mux/muxread.c 17
src/mux/../../src/utils/utils.h 6
src/mux/../../src/mux/muxi.h 3
src/dec/vp8l_dec.c 44
src/utils/bit_reader_utils.c 10
src/utils/../../src/utils/bit_reader_utils.h 2
src/dec/vp8_dec.c 24
src/dsp/upsampling.c 19
src/dsp/upsampling_sse2.c 17
src/dsp/upsampling_sse41.c 7
src/utils/../../src/utils/color_cache_utils.h 1
src/enc/picture_tools_enc.c 6
src/dsp/enc.c 44
src/dsp/dec.c 58
src/dsp/dec_clip_tables.c 1
src/dsp/dec_sse2.c 50
src/dsp/dec_sse41.c 2
src/dsp/../../src/enc/vp8i_enc.h 1
src/dsp/enc_sse2.c 57
src/dsp/enc_sse41.c 9
src/enc/tree_enc.c 7
src/dsp/cost.c 4
src/dsp/../../src/enc/cost_enc.h 2
src/dsp/cost_sse2.c 3
src/enc/alpha_enc.c 10
src/utils/thread_utils.c 1
src/utils/quant_levels_utils.c 1
src/dsp/filters.c 13
src/dsp/filters_sse2.c 15
src/utils/bit_writer_utils.c 17
src/enc/../../src/webp/encode.h 2
src/enc/vp8l_enc.c 52
src/dsp/lossless_enc.c 39
src/dsp/lossless_enc_sse2.c 26
src/dsp/lossless_enc_sse41.c 4
src/enc/backward_references_enc.c 27
src/enc/../../src/utils/utils.h 5
src/enc/../../src/dsp/lossless_common.h 9
src/enc/histogram_enc.c 51
src/enc/../../src/utils/bit_writer_utils.h 5
src/enc/near_lossless_enc.c 6
src/enc/../../src/enc/histogram_enc.h 1
src/utils/color_cache_utils.c 3
src/enc/../../src/utils/color_cache_utils.h 6
src/enc/../../src/enc/backward_references_enc.h 15
src/enc/backward_references_cost_enc.c 25
src/utils/huffman_encode_utils.c 11
src/enc/predictor_enc.c 28
src/dsp/../../src/enc/histogram_enc.h 1
src/enc/token_enc.c 8
src/enc/analysis_enc.c 17
src/enc/iterator_enc.c 25
src/enc/quant_enc.c 36
src/enc/frame_enc.c 30
src/enc/syntax_enc.c 15
src/enc/filter_enc.c 7
src/enc/../../src/enc/cost_enc.h 3
src/enc/cost_enc.c 7
src/enc/../../src/dsp/quant.h 2
src/enc/../../src/enc/vp8i_enc.h 1
src/dsp/ssim.c 7
src/dsp/ssim_sse2.c 6
./src/webp/./mux_types.h 2
src/mux/../../src/webp/decode.h 2
src/dec/webp_dec.c 15
src/dec/../../src/webp/decode.h 4
src/dec/buffer_dec.c 9
src/dec/../../src/utils/utils.h 5
src/dec/../../src/dec/vp8_dec.h 1
src/dec/io_dec.c 13
src/dec/../../src/utils/rescaler_utils.h 2
src/dec/../../src/utils/bit_reader_inl_utils.h 4
src/dec/../../src/utils/endian_inl_utils.h 1
src/dec/tree_dec.c 4
src/utils/../../src/utils/bit_reader_inl_utils.h 2
src/utils/../../src/utils/endian_inl_utils.h 1
src/dec/quant_dec.c 2
src/dec/frame_dec.c 20
src/dec/../../src/utils/random_utils.h 1
src/dec/alpha_dec.c 7
src/dec/../../src/dsp/lossless_common.h 1
src/dec/../../src/utils/bit_reader_utils.h 4
src/dec/../../src/utils/color_cache_utils.h 3
src/utils/huffman_utils.c 7
src/utils/quant_levels_dec_utils.c 9

Fuzzer: animation_api_fuzzer

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 588 35.8%
gold [1:9] 288 17.5%
yellow [10:29] 2 0.12%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 762 46.4%
All colors 1640 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
744 744 2 :

['InitRGBRescaler', 'InitYUVRescaler']

744 744 CustomSetup call site /src/libwebp/src/dec/io_dec.c:579
135 252 2 :

['WebPInitConvertARGBToYUV', 'WebPInitAlphaProcessing']

135 399 VP8LDecodeImage call site /src/libwebp/src/dec/vp8l_dec.c:1710
63 63 1 :

['EmitRescaledRowsRGBA']

63 63 ProcessRows call site /src/libwebp/src/dec/vp8l_dec.c:807
61 88 2 :

['WebPDequantizeLevels', 'WebPDeallocateAlphaMemory']

61 88 VP8DecompressAlphaRows call site /src/libwebp/src/dec/alpha_dec.c:213
45 45 2 :

['EmitRescaledRowsYUVA', 'EmitRowsYUVA']

45 45 ProcessRows call site /src/libwebp/src/dec/vp8l_dec.c:801
33 45 3 :

['WebPInitDecBuffer', 'WebPCopyDecBufferPixels', 'WebPFreeDecBuffer']

33 2526 WebPDecode call site /src/libwebp/src/dec/webp_dec.c:765
12 12 1 :

['DitherRow']

12 1554 FinishRow call site /src/libwebp/src/dec/frame_dec.c:428
10 10 1 :

['WebPCheckCropDimensions']

27 61 WebPAllocateDecBuffer call site /src/libwebp/src/dec/buffer_dec.c:185
10 10 2 :

['WebPIsRGBMode.709', 'WebPCheckCropDimensions']

20 20 WebPIoInitFromOptions call site /src/libwebp/src/dec/webp_dec.c:803
10 10 1 :

['WebPRescalerGetScaledDimensions']

17 51 WebPAllocateDecBuffer call site /src/libwebp/src/dec/buffer_dec.c:197
10 10 1 :

['WebPRescalerGetScaledDimensions']

10 10 WebPIoInitFromOptions call site /src/libwebp/src/dec/webp_dec.c:825
5 5 1 :

['RestoreState']

5 5 DecodeImageData call site /src/libwebp/src/dec/vp8l_dec.c:1240

Runtime coverage analysis

Covered functions
435
Functions that are reachable but not covered
265
Reachable functions
625
Percentage of reachable functions covered
57.6%
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
tests/fuzzer/animation_api_fuzzer.c 1
./src/webp/mux_types.h 1
./src/webp/demux.h 3
src/demux/demux.c 20
src/demux/../../src/utils/utils.h 3
src/demux/../../src/webp/./decode.h 2
src/dec/webp_dec.c 16
src/dec/../../src/utils/utils.h 5
src/dec/vp8l_dec.c 44
src/dec/vp8_dec.c 24
src/utils/bit_reader_utils.c 10
src/utils/../../src/utils/bit_reader_utils.h 2
src/utils/utils.c 5
src/utils/../../src/utils/utils.h 3
src/demux/anim_decode.c 14
src/dec/../../src/webp/decode.h 4
src/dec/buffer_dec.c 9
src/demux/../../src/webp/demux.h 1
src/dec/../../src/dec/vp8_dec.h 1
src/dec/io_dec.c 13
src/utils/rescaler_utils.c 4
src/dsp/upsampling.c 18
src/dsp/../../src/dsp/yuv.h 15
src/dsp/upsampling_sse2.c 17
src/dsp/yuv_sse2.c 35
src/dsp/../../src/dsp/common_sse2.h 3
src/dsp/upsampling_sse41.c 7
src/dsp/yuv_sse41.c 11
src/dsp/../../src/dsp/common_sse41.h 1
src/dsp/rescaler.c 8
src/dsp/../../src/utils/rescaler_utils.h 2
src/dsp/rescaler_sse2.c 9
src/dsp/../../src/utils/utils.h 4
src/utils/../../src/utils/rescaler_utils.h 2
src/dec/../../src/utils/rescaler_utils.h 2
src/dsp/alpha_processing.c 20
src/dsp/alpha_processing_sse2.c 10
src/dsp/alpha_processing_sse41.c 2
src/dsp/yuv.c 17
src/utils/thread_utils.c 1
src/dec/../../src/utils/bit_reader_inl_utils.h 4
src/dec/../../src/utils/endian_inl_utils.h 1
src/dec/tree_dec.c 4
src/utils/../../src/utils/bit_reader_inl_utils.h 2
src/utils/../../src/utils/endian_inl_utils.h 1
src/dec/quant_dec.c 2
src/dec/frame_dec.c 20
src/utils/random_utils.c 1
src/dec/../../src/utils/random_utils.h 1
src/dec/alpha_dec.c 7
src/dsp/filters.c 13
src/dsp/filters_sse2.c 15
src/dsp/lossless.c 15
src/dsp/../../src/dsp/lossless_common.h 3
src/dsp/lossless_sse2.c 40
src/dsp/lossless_sse41.c 4
src/dec/../../src/dsp/lossless_common.h 1
src/utils/color_cache_utils.c 3
src/dec/../../src/utils/bit_reader_utils.h 4
src/dec/../../src/utils/color_cache_utils.h 3
src/utils/huffman_utils.c 7
src/utils/quant_levels_dec_utils.c 9
src/dsp/dec.c 57
src/dsp/dec_clip_tables.c 1
src/dsp/dec_sse2.c 50
src/dsp/dec_sse41.c 2

Fuzzer: animdecoder_fuzzer

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 604 37.0%
gold [1:9] 286 17.5%
yellow [10:29] 3 0.18%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 737 45.2%
All colors 1630 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
744 744 2 :

['InitRGBRescaler', 'InitYUVRescaler']

744 744 CustomSetup call site /src/libwebp/src/dec/io_dec.c:579
135 252 2 :

['WebPInitConvertARGBToYUV', 'WebPInitAlphaProcessing']

135 399 VP8LDecodeImage call site /src/libwebp/src/dec/vp8l_dec.c:1710
63 63 1 :

['EmitRescaledRowsRGBA']

63 63 ProcessRows call site /src/libwebp/src/dec/vp8l_dec.c:807
61 88 2 :

['WebPDequantizeLevels', 'WebPDeallocateAlphaMemory']

61 88 VP8DecompressAlphaRows call site /src/libwebp/src/dec/alpha_dec.c:213
45 45 2 :

['EmitRescaledRowsYUVA', 'EmitRowsYUVA']

45 45 ProcessRows call site /src/libwebp/src/dec/vp8l_dec.c:801
33 45 3 :

['WebPInitDecBuffer', 'WebPCopyDecBufferPixels', 'WebPFreeDecBuffer']

33 2526 WebPDecode call site /src/libwebp/src/dec/webp_dec.c:765
20 23 5 :

['pthread_cond_destroy', 'WebPSafeFree', 'ChangeState', 'pthread_mutex_destroy', 'pthread_join']

20 23 End call site /src/libwebp/src/utils/thread_utils.c:332
12 12 1 :

['DitherRow']

12 1554 FinishRow call site /src/libwebp/src/dec/frame_dec.c:428
10 10 1 :

['WebPCheckCropDimensions']

27 61 WebPAllocateDecBuffer call site /src/libwebp/src/dec/buffer_dec.c:185
10 10 2 :

['WebPIsRGBMode.709', 'WebPCheckCropDimensions']

20 20 WebPIoInitFromOptions call site /src/libwebp/src/dec/webp_dec.c:803
10 10 1 :

['WebPRescalerGetScaledDimensions']

17 51 WebPAllocateDecBuffer call site /src/libwebp/src/dec/buffer_dec.c:197
10 10 1 :

['WebPRescalerGetScaledDimensions']

10 10 WebPIoInitFromOptions call site /src/libwebp/src/dec/webp_dec.c:825

Runtime coverage analysis

Covered functions
418
Functions that are reachable but not covered
273
Reachable functions
624
Percentage of reachable functions covered
56.25%
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
tests/fuzzer/animdecoder_fuzzer.cc 1
src/webp/./decode.h 1
src/dec/webp_dec.c 15
src/dec/../../src/utils/utils.h 5
src/dec/vp8l_dec.c 44
src/dec/vp8_dec.c 24
src/utils/bit_reader_utils.c 10
src/utils/../../src/utils/bit_reader_utils.h 2
imageio/imageio_util.c 1
./src/webp/demux.h 1
src/demux/anim_decode.c 14
src/demux/../../src/webp/./decode.h 2
src/utils/utils.c 5
src/utils/../../src/utils/utils.h 3
src/dec/../../src/webp/decode.h 4
src/dec/buffer_dec.c 9
src/demux/../../src/webp/demux.h 1
src/demux/demux.c 20
src/demux/../../src/utils/utils.h 3
src/dec/../../src/dec/vp8_dec.h 1
src/dec/io_dec.c 13
src/utils/rescaler_utils.c 4
src/dsp/upsampling.c 18
src/dsp/../../src/dsp/yuv.h 15
src/dsp/upsampling_sse2.c 17
src/dsp/yuv_sse2.c 35
src/dsp/../../src/dsp/common_sse2.h 3
src/dsp/upsampling_sse41.c 7
src/dsp/yuv_sse41.c 11
src/dsp/../../src/dsp/common_sse41.h 1
src/dsp/rescaler.c 8
src/dsp/../../src/utils/rescaler_utils.h 2
src/dsp/rescaler_sse2.c 9
src/dsp/../../src/utils/utils.h 4
src/utils/../../src/utils/rescaler_utils.h 2
src/dec/../../src/utils/rescaler_utils.h 2
src/dsp/alpha_processing.c 20
src/dsp/alpha_processing_sse2.c 10
src/dsp/alpha_processing_sse41.c 2
src/dsp/yuv.c 17
src/utils/thread_utils.c 1
src/dec/../../src/utils/bit_reader_inl_utils.h 4
src/dec/../../src/utils/endian_inl_utils.h 1
src/dec/tree_dec.c 4
src/utils/../../src/utils/bit_reader_inl_utils.h 2
src/utils/../../src/utils/endian_inl_utils.h 1
src/dec/quant_dec.c 2
src/dec/frame_dec.c 20
src/utils/random_utils.c 1
src/dec/../../src/utils/random_utils.h 1
src/dec/alpha_dec.c 7
src/dsp/filters.c 13
src/dsp/filters_sse2.c 15
src/dsp/lossless.c 15
src/dsp/../../src/dsp/lossless_common.h 3
src/dsp/lossless_sse2.c 40
src/dsp/lossless_sse41.c 4
src/dec/../../src/dsp/lossless_common.h 1
src/utils/color_cache_utils.c 3
src/dec/../../src/utils/bit_reader_utils.h 4
src/dec/../../src/utils/color_cache_utils.h 3
src/utils/huffman_utils.c 7
src/utils/quant_levels_dec_utils.c 9
src/dsp/dec.c 57
src/dsp/dec_clip_tables.c 1
src/dsp/dec_sse2.c 50
src/dsp/dec_sse41.c 2

Fuzzer: simple_api_fuzzer

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 519 33.2%
gold [1:9] 301 19.3%
yellow [10:29] 2 0.12%
greenyellow [30:49] 1 0.06%
lawngreen 50+ 736 47.2%
All colors 1559 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
744 744 2 :

['InitRGBRescaler', 'InitYUVRescaler']

744 744 CustomSetup call site /src/libwebp/src/dec/io_dec.c:579
63 63 1 :

['EmitRescaledRowsRGBA']

63 63 ProcessRows call site /src/libwebp/src/dec/vp8l_dec.c:807
61 88 2 :

['WebPDequantizeLevels', 'WebPDeallocateAlphaMemory']

61 88 VP8DecompressAlphaRows call site /src/libwebp/src/dec/alpha_dec.c:213
39 39 1 :

['EmitRescaledRowsYUVA']

39 39 ProcessRows call site /src/libwebp/src/dec/vp8l_dec.c:816
20 23 5 :

['pthread_cond_destroy', 'WebPSafeFree', 'ChangeState', 'pthread_mutex_destroy', 'pthread_join']

20 23 End call site /src/libwebp/src/utils/thread_utils.c:332
20 20 2 :

['WebPCheckCropDimensions', 'WebPRescalerGetScaledDimensions']

27 61 WebPAllocateDecBuffer call site /src/libwebp/src/dec/buffer_dec.c:184
12 12 1 :

['DitherRow']

12 1554 FinishRow call site /src/libwebp/src/dec/frame_dec.c:428
10 10 2 :

['WebPIsRGBMode.709', 'WebPCheckCropDimensions']

20 20 WebPIoInitFromOptions call site /src/libwebp/src/dec/webp_dec.c:803
10 10 1 :

['WebPRescalerGetScaledDimensions']

10 10 WebPIoInitFromOptions call site /src/libwebp/src/dec/webp_dec.c:825
7 7 1 :

['WebPFlipBuffer']

7 7 WebPAllocateDecBuffer call site /src/libwebp/src/dec/buffer_dec.c:220
5 5 1 :

['RestoreState']

5 5 DecodeImageData call site /src/libwebp/src/dec/vp8l_dec.c:1240
2 44 3 :

['x86CPUInfo', 'GetCPUInfo', 'xgetbv']

2 44 x86CPUInfo call site /src/libwebp/src/dsp/cpu.c:158

Runtime coverage analysis

Covered functions
418
Functions that are reachable but not covered
238
Reachable functions
597
Percentage of reachable functions covered
60.13%
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
tests/fuzzer/simple_api_fuzzer.c 1
src/dec/webp_dec.c 27
src/dec/../../src/utils/utils.h 5
src/dec/vp8l_dec.c 44
src/dec/vp8_dec.c 24
src/utils/bit_reader_utils.c 10
src/utils/../../src/utils/bit_reader_utils.h 2
tests/fuzzer/./fuzz_utils.h 1
src/dec/../../src/webp/decode.h 4
src/dec/buffer_dec.c 8
src/dec/../../src/dec/vp8_dec.h 1
src/dec/io_dec.c 13
src/utils/rescaler_utils.c 4
src/dsp/upsampling.c 18
src/dsp/../../src/dsp/yuv.h 15
src/dsp/upsampling_sse2.c 17
src/dsp/yuv_sse2.c 35
src/dsp/../../src/dsp/common_sse2.h 3
src/dsp/upsampling_sse41.c 7
src/dsp/yuv_sse41.c 11
src/dsp/../../src/dsp/common_sse41.h 1
src/utils/utils.c 6
src/utils/../../src/utils/utils.h 3
src/dsp/rescaler.c 8
src/dsp/../../src/utils/rescaler_utils.h 2
src/dsp/rescaler_sse2.c 9
src/dsp/../../src/utils/utils.h 4
src/utils/../../src/utils/rescaler_utils.h 2
src/dec/../../src/utils/rescaler_utils.h 2
src/dsp/alpha_processing.c 20
src/dsp/alpha_processing_sse2.c 10
src/dsp/alpha_processing_sse41.c 2
src/dsp/yuv.c 17
src/utils/thread_utils.c 1
src/dec/../../src/utils/bit_reader_inl_utils.h 4
src/dec/../../src/utils/endian_inl_utils.h 1
src/dec/tree_dec.c 4
src/utils/../../src/utils/bit_reader_inl_utils.h 2
src/utils/../../src/utils/endian_inl_utils.h 1
src/dec/quant_dec.c 2
src/dec/frame_dec.c 20
src/utils/random_utils.c 1
src/dec/../../src/utils/random_utils.h 1
src/dec/alpha_dec.c 7
src/dsp/filters.c 13
src/dsp/filters_sse2.c 15
src/dsp/lossless.c 15
src/dsp/../../src/dsp/lossless_common.h 3
src/dsp/lossless_sse2.c 40
src/dsp/lossless_sse41.c 4
src/dec/../../src/dsp/lossless_common.h 1
src/utils/color_cache_utils.c 3
src/dec/../../src/utils/bit_reader_utils.h 4
src/dec/../../src/utils/color_cache_utils.h 3
src/utils/huffman_utils.c 7
src/utils/quant_levels_dec_utils.c 9
src/dsp/dec.c 57
src/dsp/dec_clip_tables.c 1
src/dsp/dec_sse2.c 50
src/dsp/dec_sse41.c 2

Fuzzer: enc_dec_fuzzer

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 641 16.9%
gold [1:9] 1 0.02%
yellow [10:29] 2 0.05%
greenyellow [30:49] 4 0.10%
lawngreen 50+ 3141 82.8%
All colors 3789 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
744 744 2 :

['InitRGBRescaler', 'InitYUVRescaler']

744 744 CustomSetup call site /src/libwebp/src/dec/io_dec.c:579
63 63 1 :

['EmitRescaledRowsRGBA']

63 63 ProcessRows call site /src/libwebp/src/dec/vp8l_dec.c:807
61 88 2 :

['WebPDequantizeLevels', 'WebPDeallocateAlphaMemory']

61 88 VP8DecompressAlphaRows call site /src/libwebp/src/dec/alpha_dec.c:213
45 45 2 :

['EmitRescaledRowsYUVA', 'EmitRowsYUVA']

45 45 ProcessRows call site /src/libwebp/src/dec/vp8l_dec.c:801
12 12 1 :

['DitherRow']

14 1554 FinishRow call site /src/libwebp/src/dec/frame_dec.c:428
10 20 2 :

['WebPCheckCropDimensions', 'WebPRescalerGetScaledDimensions']

17 61 WebPAllocateDecBuffer call site /src/libwebp/src/dec/buffer_dec.c:184
10 10 2 :

['WebPIsRGBMode.709', 'WebPCheckCropDimensions']

10 20 WebPIoInitFromOptions call site /src/libwebp/src/dec/webp_dec.c:803
9 9 1 :

['VP8EncFreeBitWriters']

9 26 WebPEncode call site /src/libwebp/src/enc/webp_enc.c:390
9 9 1 :

['SharpYuvFilterRow32_SSE2']

9 9 SharpYuvFilterRow_SSE2 call site /src/libwebp/sharpyuv/sharpyuv_sse2.c:179
9 9 1 :

['VP8EncFreeBitWriters']

9 9 PostLoopFinalize call site /src/libwebp/src/enc/frame_enc.c:707
7 7 1 :

['WebPFlipBuffer']

7 7 WebPAllocateDecBuffer call site /src/libwebp/src/dec/buffer_dec.c:220
7 7 1 :

['WebPFreeDecBuffer']

7 7 DecodeInto call site /src/libwebp/src/dec/webp_dec.c:513

Runtime coverage analysis

Covered functions
1208
Functions that are reachable but not covered
164
Reachable functions
1312
Percentage of reachable functions covered
87.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.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
tests/fuzzer/enc_dec_fuzzer.cc 1
tests/fuzzer/./fuzz_utils.h 7
./src/webp/encode.h 2
src/enc/picture_enc.c 12
src/enc/webp_enc.c 12
src/enc/picture_csp_enc.c 22
src/dsp/alpha_processing.c 22
src/dsp/alpha_processing_sse2.c 10
src/dsp/alpha_processing_sse41.c 2
src/utils/utils.c 7
src/utils/../../src/utils/utils.h 3
sharpyuv/sharpyuv.c 19
sharpyuv/sharpyuv_dsp.c 5
sharpyuv/sharpyuv_sse2.c 8
sharpyuv/sharpyuv_gamma.c 5
sharpyuv/sharpyuv_csp.c 1
src/utils/random_utils.c 1
src/dsp/yuv.c 8
src/dsp/../../src/dsp/yuv.h 15
src/dsp/yuv_sse2.c 27
src/dsp/../../src/dsp/common_sse2.h 4
src/dsp/yuv_sse41.c 18
src/dsp/../../src/dsp/common_sse41.h 2
src/enc/../../src/dsp/yuv.h 4
src/enc/../../src/utils/random_utils.h 2
src/dsp/lossless.c 37
src/dsp/../../src/dsp/lossless_common.h 5
src/dsp/lossless_sse2.c 40
src/dsp/lossless_sse41.c 4
src/enc/picture_rescale_enc.c 9
src/utils/rescaler_utils.c 5
src/dsp/rescaler.c 8
src/dsp/../../src/utils/rescaler_utils.h 2
src/dsp/rescaler_sse2.c 9
src/dsp/../../src/utils/utils.h 6
src/utils/../../src/utils/rescaler_utils.h 2
src/enc/config_enc.c 2
src/enc/picture_tools_enc.c 6
src/dsp/enc.c 44
src/dsp/dec.c 58
src/dsp/dec_clip_tables.c 1
src/dsp/dec_sse2.c 50
src/dsp/dec_sse41.c 2
src/dsp/../../src/enc/vp8i_enc.h 1
src/dsp/enc_sse2.c 57
src/dsp/enc_sse41.c 9
src/enc/tree_enc.c 7
src/dsp/cost.c 4
src/dsp/../../src/enc/cost_enc.h 2
src/dsp/cost_sse2.c 3
src/enc/alpha_enc.c 10
src/utils/thread_utils.c 1
src/utils/quant_levels_utils.c 1
src/dsp/filters.c 13
src/dsp/filters_sse2.c 15
src/utils/bit_writer_utils.c 17
src/enc/../../src/webp/encode.h 2
src/enc/vp8l_enc.c 52
src/dsp/lossless_enc.c 39
src/dsp/lossless_enc_sse2.c 26
src/dsp/lossless_enc_sse41.c 4
src/enc/backward_references_enc.c 27
src/utils/../../src/utils/color_cache_utils.h 1
src/enc/../../src/utils/utils.h 5
src/enc/../../src/dsp/lossless_common.h 9
src/enc/histogram_enc.c 51
src/enc/../../src/utils/bit_writer_utils.h 5
src/enc/near_lossless_enc.c 6
src/enc/../../src/enc/histogram_enc.h 1
src/utils/color_cache_utils.c 3
src/enc/../../src/utils/color_cache_utils.h 6
src/enc/../../src/enc/backward_references_enc.h 15
src/enc/backward_references_cost_enc.c 25
src/utils/huffman_encode_utils.c 11
src/enc/predictor_enc.c 28
src/dsp/../../src/enc/histogram_enc.h 1
src/enc/token_enc.c 8
src/enc/analysis_enc.c 17
src/enc/iterator_enc.c 25
src/enc/quant_enc.c 36
src/enc/frame_enc.c 30
src/enc/syntax_enc.c 15
src/enc/filter_enc.c 7
src/enc/../../src/enc/cost_enc.h 3
src/enc/cost_enc.c 7
src/enc/../../src/dsp/quant.h 2
src/enc/../../src/enc/vp8i_enc.h 1
src/dsp/ssim.c 7
src/dsp/ssim_sse2.c 6
src/dsp/upsampling.c 19
src/dsp/upsampling_sse2.c 17
src/dsp/upsampling_sse41.c 7
src/dec/webp_dec.c 15
src/dec/../../src/webp/decode.h 4
src/dec/buffer_dec.c 8
src/dec/../../src/utils/utils.h 5
src/dec/vp8l_dec.c 44
src/dec/vp8_dec.c 24
src/utils/bit_reader_utils.c 10
src/utils/../../src/utils/bit_reader_utils.h 2
src/dec/../../src/dec/vp8_dec.h 1
src/dec/io_dec.c 13
src/dec/../../src/utils/rescaler_utils.h 2
src/dec/../../src/utils/bit_reader_inl_utils.h 4
src/dec/../../src/utils/endian_inl_utils.h 1
src/dec/tree_dec.c 4
src/utils/../../src/utils/bit_reader_inl_utils.h 2
src/utils/../../src/utils/endian_inl_utils.h 1
src/dec/quant_dec.c 2
src/dec/frame_dec.c 20
src/dec/../../src/utils/random_utils.h 1
src/dec/alpha_dec.c 7
src/dec/../../src/dsp/lossless_common.h 1
src/dec/../../src/utils/bit_reader_utils.h 4
src/dec/../../src/utils/color_cache_utils.h 3
src/utils/huffman_utils.c 7
src/utils/quant_levels_dec_utils.c 9

Fuzzer: advanced_api_fuzzer

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 319 19.1%
gold [1:9] 347 20.8%
yellow [10:29] 7 0.42%
greenyellow [30:49] 12 0.72%
lawngreen 50+ 978 58.8%
All colors 1663 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
33 45 3 :

['WebPInitDecBuffer', 'WebPCopyDecBufferPixels', 'WebPFreeDecBuffer']

33 2526 WebPDecode call site /src/libwebp/src/dec/webp_dec.c:765
33 40 2 :

['WebPCopyDecBufferPixels', 'WebPFreeDecBuffer']

33 40 FinishDecoding call site /src/libwebp/src/dec/idec_dec.c:260
4 7 3 :

['pthread_mutex_destroy', 'pthread_cond_destroy', 'WebPSafeFree']

4 7 Reset call site /src/libwebp/src/utils/thread_utils.c:298
2 44 3 :

['x86CPUInfo', 'GetCPUInfo', 'xgetbv']

2 44 x86CPUInfo call site /src/libwebp/src/dsp/cpu.c:158
0 104 1 :

['VP8GetHeaders']

0 3801 VP8Decode call site /src/libwebp/src/dec/vp8_dec.c:680
0 37 1 :

['ReconstructRow']

0 39 VP8ProcessRow call site /src/libwebp/src/dec/frame_dec.c:523
0 27 1 :

['WebPDeallocateAlphaMemory']

0 27 VP8DecompressAlphaRows call site /src/libwebp/src/dec/alpha_dec.c:216
0 9 1 :

['IDecError']

0 9 DecodeVP8FrameHeader call site /src/libwebp/src/dec/idec_dec.c:357
0 9 1 :

['IDecError']

0 9 DecodePartition0 call site /src/libwebp/src/dec/idec_dec.c:445
0 2 1 :

['VP8RemapBitReader']

0 16 DoRemap call site /src/libwebp/src/dec/idec_dec.c:131
0 2 1 :

['VP8SetError']

0 2 InitThreadContext call site /src/libwebp/src/dec/frame_dec.c:645
0 2 1 :

['VP8SetError']

0 2 AllocateMemory call site /src/libwebp/src/dec/frame_dec.c:713

Runtime coverage analysis

Covered functions
553
Functions that are reachable but not covered
135
Reachable functions
614
Percentage of reachable functions covered
78.01%
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
tests/fuzzer/advanced_api_fuzzer.c 1
./src/webp/decode.h 2
src/dec/webp_dec.c 15
src/dec/../../src/webp/decode.h 5
src/dec/buffer_dec.c 9
src/dec/../../src/utils/utils.h 5
src/dec/vp8l_dec.c 44
src/dec/vp8_dec.c 24
src/utils/bit_reader_utils.c 12
src/utils/../../src/utils/bit_reader_utils.h 2
tests/fuzzer/./fuzz_utils.h 1
src/dec/idec_dec.c 28
src/utils/utils.c 5
src/utils/../../src/utils/utils.h 3
src/dec/../../src/dec/vp8_dec.h 1
src/dec/io_dec.c 13
src/utils/rescaler_utils.c 4
src/dsp/upsampling.c 18
src/dsp/../../src/dsp/yuv.h 15
src/dsp/upsampling_sse2.c 17
src/dsp/yuv_sse2.c 35
src/dsp/../../src/dsp/common_sse2.h 3
src/dsp/upsampling_sse41.c 7
src/dsp/yuv_sse41.c 11
src/dsp/../../src/dsp/common_sse41.h 1
src/dsp/rescaler.c 8
src/dsp/../../src/utils/rescaler_utils.h 2
src/dsp/rescaler_sse2.c 9
src/dsp/../../src/utils/utils.h 4
src/utils/../../src/utils/rescaler_utils.h 2
src/dec/../../src/utils/rescaler_utils.h 2
src/dsp/alpha_processing.c 20
src/dsp/alpha_processing_sse2.c 10
src/dsp/alpha_processing_sse41.c 2
src/dsp/yuv.c 17
src/dec/frame_dec.c 18
src/utils/thread_utils.c 1
src/dec/../../src/utils/bit_reader_inl_utils.h 4
src/dec/../../src/utils/endian_inl_utils.h 1
src/dsp/lossless.c 15
src/dsp/../../src/dsp/lossless_common.h 3
src/dsp/lossless_sse2.c 40
src/dsp/lossless_sse41.c 4
src/dec/tree_dec.c 4
src/utils/../../src/utils/bit_reader_inl_utils.h 2
src/utils/../../src/utils/endian_inl_utils.h 1
src/dec/quant_dec.c 2
src/utils/random_utils.c 1
src/dec/alpha_dec.c 7
src/dsp/filters.c 13
src/dsp/filters_sse2.c 15
src/dec/../../src/dsp/lossless_common.h 1
src/utils/color_cache_utils.c 3
src/dec/../../src/utils/bit_reader_utils.h 4
src/dec/../../src/utils/color_cache_utils.h 3
src/utils/huffman_utils.c 7
src/utils/quant_levels_dec_utils.c 9
src/dsp/dec.c 57
src/dsp/dec_clip_tables.c 1
src/dsp/dec_sse2.c 50
src/dsp/dec_sse41.c 2

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

The following table shows a list of functions that are optimal targets. Optimal targets are identified by finding the functions that in combination, yield a high code coverage.

Func name Functions filename Arg count Args Function depth hitcount instr count bb count cyclomatic complexity Reachable functions Incoming references total cyclomatic complexity Unreached complexity
ProcessRows /src/libwebp/src/dec/vp8l_dec.c 2 ['struct.VP8LDecoder *', 'int '] 5 0 281 30 7 35 0 138 91
ParseVP8XChunks /src/libwebp/src/demux/demux.c 1 ['struct.WebPDemuxer *'] 12 0 340 56 15 45 0 257 79
x86CPUInfo /src/libwebp/src/dsp/cpu.c 1 ['int '] 2 0 231 38 16 4 1 40 40
ImgIoUtilReadFile /src/libwebp/imageio/imageio_util.c 3 ['char *', 'char **', 'size_t *'] 4 0 162 20 9 17 0 57 40
IsValidExtendedFormat /src/libwebp/src/demux/demux.c 1 ['struct.WebPDemuxer *'] 1 0 391 71 29 1 0 39 39

Implementing fuzzers that target the above functions will improve reachability such that it becomes:

Functions statically reachable by fuzzers
93.21%
1619/1737
Cyclomatic complexity statically reachable by fuzzers
94.51%
7777 / 8229

All functions overview

If you implement fuzzers for these functions, the status of all functions in the project will be:

Func name Functions filename Args Function call depth 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

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
SharpYuvConvert 55 27 49.09% ['animencoder_fuzzer', 'enc_dec_fuzzer']
VP8Transpose_2_4x4_16b 31 14 45.16% ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
Load16x4_SSE2 32 12 37.5% ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
FastLog2Slow_C 33 17 51.51% ['animencoder_fuzzer', 'enc_dec_fuzzer']
FastSLog2Slow_C 35 16 45.71% ['animencoder_fuzzer', 'enc_dec_fuzzer']
WebPRescalerDspInit_body 46 21 45.65% ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
EncodeLossless 46 25 54.34% ['animencoder_fuzzer', 'enc_dec_fuzzer']
WebPConfigInitInternal 72 39 54.16% ['animencoder_fuzzer', 'enc_dec_fuzzer']
StoreSideInfo 34 7 20.58% ['animencoder_fuzzer', 'enc_dec_fuzzer']
Import 62 32 51.61% ['animencoder_fuzzer', 'enc_dec_fuzzer']
PutWebPHeaders 35 19 54.28% ['animencoder_fuzzer', 'enc_dec_fuzzer']
VP8LEncodeImage 88 33 37.5% ['animencoder_fuzzer', 'enc_dec_fuzzer']
WebPAnimEncoderAdd 81 41 50.61% ['animencoder_fuzzer']
WebPAnimEncoderAssemble 57 23 40.35% ['animencoder_fuzzer']
SanitizeEncoderOptions 46 24 52.17% ['animencoder_fuzzer']
IncreasePreviousDuration 61 19 31.14% ['animencoder_fuzzer']
OptimizeSingleFrame 40 21 52.5% ['animencoder_fuzzer']
Reset 39 20 51.28% []
(anonymousnamespace)::AddFrame(WebPAnimEncoder**,WebPAnimEncoderOptionsconst&,int*,int*,int,unsignedcharconst*,unsignedlong,unsignedint*) 88 29 32.95% ['animencoder_fuzzer']
VP8LoadNewBytes 47 18 38.29% ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
VP8EnterCritical 51 28 54.90% ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
VP8Decode 38 19 50.0% ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
WebPDecode 38 15 39.47% ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'advanced_api_fuzzer']

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/libwebp/src/mux/../../src/utils/utils.h ['mux_demux_api_fuzzer', 'animencoder_fuzzer'] []
/src/libwebp/src/mux/muxread.c ['mux_demux_api_fuzzer', 'animencoder_fuzzer'] ['mux_demux_api_fuzzer', 'animencoder_fuzzer']
/src/libwebp/src/dec/../../src/webp/decode.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/src/mux/../../src/mux/muxi.h ['mux_demux_api_fuzzer', 'animencoder_fuzzer'] []
/src/libwebp/src/dec/../../src/utils/color_cache_utils.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/tests/fuzzer/./fuzz_utils.h ['animencoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/src/utils/bit_reader_utils.c ['mux_demux_api_fuzzer', 'animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['mux_demux_api_fuzzer', 'animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dsp/alpha_processing_sse41.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dec/../../src/dec/vp8_dec.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/./src/webp/mux.h ['mux_demux_api_fuzzer', 'animencoder_fuzzer'] []
/src/libwebp/src/enc/picture_rescale_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/enc/token_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/./src/webp/./mux_types.h ['mux_demux_api_fuzzer', 'animencoder_fuzzer'] []
/src/libwebp/src/utils/../../src/utils/utils.h ['mux_demux_api_fuzzer', 'animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/src/dsp/../../src/utils/rescaler_utils.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/src/enc/iterator_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dec/../../src/utils/bit_reader_inl_utils.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/src/dsp/lossless_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dec/alpha_dec.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dec/quant_dec.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dsp/filters_sse2.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dsp/dec.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/enc/quant_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dsp/yuv_sse2.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dec/frame_dec.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dsp/../../src/utils/utils.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/src/dec/../../src/utils/utils.h ['mux_demux_api_fuzzer', 'animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/src/enc/tree_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dsp/enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/tests/fuzzer/enc_dec_fuzzer.cc ['enc_dec_fuzzer'] ['enc_dec_fuzzer']
/src/libwebp/tests/fuzzer/mux_demux_api_fuzzer.c ['mux_demux_api_fuzzer'] ['mux_demux_api_fuzzer']
/src/libwebp/tests/fuzzer/animation_api_fuzzer.c ['animation_api_fuzzer'] ['animation_api_fuzzer']
/src/libwebp/src/dsp/lossless_enc_sse41.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/utils/color_cache_utils.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/enc/filter_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/enc/../../src/enc/histogram_enc.h ['animencoder_fuzzer', 'enc_dec_fuzzer'] []
/src/libwebp/src/demux/../../src/webp/./decode.h ['mux_demux_api_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer'] []
/src/libwebp/src/utils/huffman_encode_utils.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/sharpyuv/sharpyuv.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/utils/../../src/utils/bit_reader_inl_utils.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/imageio/imageio_util.c ['animdecoder_fuzzer'] ['animdecoder_fuzzer']
/src/libwebp/src/mux/../../src/webp/./mux_types.h ['mux_demux_api_fuzzer', 'animencoder_fuzzer'] []
/src/libwebp/src/enc/../../src/utils/color_cache_utils.h ['animencoder_fuzzer', 'enc_dec_fuzzer'] []
/src/libwebp/src/dec/../../src/utils/random_utils.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer'] []
/src/libwebp/./src/webp/mux_types.h ['animation_api_fuzzer'] []
/src/libwebp/src/enc/near_lossless_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/utils/../../src/utils/rescaler_utils.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/src/dsp/dec_clip_tables.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/utils/quant_levels_utils.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/enc/backward_references_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dec/../../src/utils/bit_reader_utils.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/src/mux/muxedit.c ['mux_demux_api_fuzzer', 'animencoder_fuzzer'] ['mux_demux_api_fuzzer', 'animencoder_fuzzer']
/src/libwebp/src/utils/thread_utils.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/enc/syntax_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/./src/webp/encode.h ['animencoder_fuzzer', 'enc_dec_fuzzer'] []
/src/libwebp/src/dsp/lossless.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dsp/dec_sse41.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dec/io_dec.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/enc/../../src/enc/cost_enc.h ['animencoder_fuzzer', 'enc_dec_fuzzer'] []
/src/libwebp/sharpyuv/sharpyuv_sse2.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dsp/yuv_sse41.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dsp/ssim.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/enc/cost_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/sharpyuv/sharpyuv_dsp.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dec/idec_dec.c ['advanced_api_fuzzer'] ['advanced_api_fuzzer']
/src/libwebp/sharpyuv/sharpyuv_gamma.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/enc/analysis_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dsp/../../src/dsp/yuv.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/src/mux/../../src/webp/decode.h ['animencoder_fuzzer'] []
/src/libwebp/src/enc/frame_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dsp/enc_sse41.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/utils/rescaler_utils.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/utils/bit_writer_utils.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dec/tree_dec.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/enc/predictor_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/enc/backward_references_cost_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/tests/fuzzer/animencoder_fuzzer.cc ['animencoder_fuzzer'] ['animencoder_fuzzer']
/src/libwebp/sharpyuv/sharpyuv_csp.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dsp/upsampling.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/enc/../../src/utils/bit_writer_utils.h ['animencoder_fuzzer', 'enc_dec_fuzzer'] []
/src/libwebp/src/utils/random_utils.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/utils/../../src/utils/bit_reader_utils.h ['mux_demux_api_fuzzer', 'animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/tests/fuzzer/advanced_api_fuzzer.c ['advanced_api_fuzzer'] ['advanced_api_fuzzer']
/src/libwebp/src/dec/../../src/utils/endian_inl_utils.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/src/utils/utils.c ['mux_demux_api_fuzzer', 'animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['mux_demux_api_fuzzer', 'animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/mux/anim_encode.c ['animencoder_fuzzer'] ['animencoder_fuzzer']
/src/libwebp/src/enc/picture_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/demux/../../src/webp/demux.h ['animation_api_fuzzer', 'animdecoder_fuzzer'] []
/src/libwebp/src/dsp/upsampling_sse2.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/utils/huffman_utils.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dec/vp8_dec.c ['mux_demux_api_fuzzer', 'animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['mux_demux_api_fuzzer', 'animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/enc/../../src/enc/vp8i_enc.h ['animencoder_fuzzer', 'enc_dec_fuzzer'] []
/src/libwebp/src/demux/demux.c ['mux_demux_api_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer'] ['mux_demux_api_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer']
/src/libwebp/src/demux/anim_decode.c ['animation_api_fuzzer', 'animdecoder_fuzzer'] ['animation_api_fuzzer', 'animdecoder_fuzzer']
/src/libwebp/src/enc/vp8l_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/enc/../../src/dsp/yuv.h ['animencoder_fuzzer', 'enc_dec_fuzzer'] []
/src/libwebp/src/dsp/../../src/dsp/common_sse2.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/src/dsp/alpha_processing_sse2.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/tests/fuzzer/animdecoder_fuzzer.cc ['animdecoder_fuzzer'] ['animdecoder_fuzzer']
/src/libwebp/src/dsp/cost_sse2.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dsp/../../src/dsp/lossless_common.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/src/dec/../../src/utils/rescaler_utils.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/tests/fuzzer/simple_api_fuzzer.c ['simple_api_fuzzer'] ['simple_api_fuzzer']
/src/libwebp/src/utils/quant_levels_dec_utils.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dec/vp8l_dec.c ['mux_demux_api_fuzzer', 'animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['mux_demux_api_fuzzer', 'animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/enc/../../src/utils/utils.h ['animencoder_fuzzer', 'enc_dec_fuzzer'] []
/src/libwebp/src/dsp/rescaler_sse2.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/enc/../../src/webp/encode.h ['animencoder_fuzzer', 'enc_dec_fuzzer'] []
/src/libwebp/src/dsp/dec_sse2.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dsp/ssim_sse2.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dsp/lossless_sse2.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/enc/histogram_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/enc/../../src/dsp/quant.h ['animencoder_fuzzer', 'enc_dec_fuzzer'] []
/src/libwebp/src/dsp/filters.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/mux/../../src/webp/mux.h ['mux_demux_api_fuzzer', 'animencoder_fuzzer'] []
/src/libwebp/src/mux/muxinternal.c ['mux_demux_api_fuzzer', 'animencoder_fuzzer'] ['mux_demux_api_fuzzer', 'animencoder_fuzzer']
/src/libwebp/src/dsp/../../src/dsp/common_sse41.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/src/dsp/upsampling_sse41.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dsp/enc_sse2.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/./src/webp/decode.h ['advanced_api_fuzzer'] []
/src/libwebp/src/dsp/alpha_processing.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/utils/../../src/utils/endian_inl_utils.h ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] []
/src/libwebp/src/enc/../../src/enc/backward_references_enc.h ['animencoder_fuzzer', 'enc_dec_fuzzer'] []
/src/libwebp/./src/webp/demux.h ['mux_demux_api_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer'] []
/src/libwebp/src/dsp/yuv.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dsp/rescaler.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/enc/picture_csp_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/enc/picture_tools_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dec/webp_dec.c ['mux_demux_api_fuzzer', 'animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['mux_demux_api_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/dsp/cpu.c [] []
/src/libwebp/src/dsp/lossless_sse41.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/enc/../../src/utils/random_utils.h ['animencoder_fuzzer', 'enc_dec_fuzzer'] []
/src/libwebp/src/utils/../../src/utils/color_cache_utils.h ['animencoder_fuzzer', 'enc_dec_fuzzer'] []
/src/libwebp/src/enc/../../src/dsp/lossless_common.h ['animencoder_fuzzer', 'enc_dec_fuzzer'] []
/src/libwebp/src/dsp/cost.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/enc/alpha_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/enc/config_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/enc/webp_enc.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dsp/lossless_enc_sse2.c ['animencoder_fuzzer', 'enc_dec_fuzzer'] ['animencoder_fuzzer', 'enc_dec_fuzzer']
/src/libwebp/src/dec/buffer_dec.c ['animencoder_fuzzer', 'animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer'] ['animation_api_fuzzer', 'animdecoder_fuzzer', 'simple_api_fuzzer', 'enc_dec_fuzzer', 'advanced_api_fuzzer']
/src/libwebp/src/webp/./decode.h ['animdecoder_fuzzer'] []
/src/libwebp/src/dsp/../../src/utils/endian_inl_utils.h [] []
/src/libwebp/src/utils/filters_utils.c [] []

Directories in report

Directory
/src/libwebp/src/dec/../../src/webp/
/src/libwebp/src/enc/../../src/utils/
/src/libwebp/src/dsp/../../src/dsp/
/src/libwebp/src/utils/../../src/utils/
/src/libwebp/src/mux/../../src/utils/
/src/libwebp/src/enc/
/src/libwebp/src/dsp/../../src/utils/
/src/libwebp/./src/webp/./
/src/libwebp/src/demux/
/src/libwebp/src/dec/../../src/utils/
/src/libwebp/src/enc/../../src/dsp/
/src/libwebp/src/dec/../../src/dec/
/src/libwebp/src/enc/../../src/enc/
/src/libwebp/./src/webp/
/src/libwebp/src/mux/
/src/libwebp/src/demux/../../src/webp/./
/src/libwebp/src/mux/../../src/mux/
/src/libwebp/imageio/
/src/libwebp/src/utils/
/src/libwebp/src/dsp/
/src/libwebp/src/webp/./
/src/libwebp/src/dec/
/src/libwebp/src/demux/../../src/webp/
/src/libwebp/tests/fuzzer/
/src/libwebp/src/mux/../../src/webp/./
/src/libwebp/sharpyuv/
/src/libwebp/src/enc/../../src/webp/
/src/libwebp/src/mux/../../src/webp/
/src/libwebp/tests/fuzzer/./