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

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
4 4 1 :

['CheckSlowModel']

4 4 x86CPUInfo call site: 00000 /src/libwebp/src/dsp/cpu.c:151
2 44 3 :

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

2 44 x86CPUInfo call site: 00000 /src/libwebp/src/dsp/cpu.c:158
0 0 None 0 266 ReadHuffmanCodesHelper call site: 00132 /src/libwebp/src/dec/vp8l_dec.c:473
0 0 None 0 266 ReadHuffmanCodesHelper call site: 00139 /src/libwebp/src/dec/vp8l_dec.c:483
0 0 None 0 3 VP8LBuildHuffmanTable call site: 00166 /src/libwebp/src/utils/huffman_utils.c:240
0 0 None 0 0 x86CPUInfo call site: 00000 /src/libwebp/src/dsp/cpu.c:133
0 0 None 0 0 x86CPUInfo call site: 00000 /src/libwebp/src/dsp/cpu.c:148
0 0 None 0 0 VP8LHtreeGroupsNew call site: 00133 /src/libwebp/src/utils/huffman_utils.c:28
0 0 None 0 0 BuildHuffmanTable call site: 00156 /src/libwebp/src/utils/huffman_utils.c:100

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 VP8LNew [function] [call site] 00001
2 WebPSafeCalloc [function] [call site] 00002
3 CheckSizeArgumentsOverflow [function] [call site] 00003
4 CheckSizeOverflow [function] [call site] 00004
3 __assert_fail [call site] 00005
3 calloc [call site] 00006
2 VP8LDspInit [function] [call site] 00007
3 pthread_mutex_lock [call site] 00008
3 VP8LDspInit_body [function] [call site] 00009
4 VP8LPredictor0_C [function] [call site] 00010
4 PredictorAdd0_C [function] [call site] 00011
5 VP8LAddPixels [function] [call site] 00012
4 PredictorAdd0_C [function] [call site] 00013
4 VP8LAddGreenToBlueAndRed_C [function] [call site] 00014
4 VP8LTransformColorInverse_C [function] [call site] 00015
5 ColorTransformDelta [function] [call site] 00016
5 ColorTransformDelta [function] [call site] 00017
5 ColorTransformDelta [function] [call site] 00018
4 VP8LConvertBGRAToRGBA_C [function] [call site] 00019
4 VP8LConvertBGRAToRGB_C [function] [call site] 00020
4 VP8LConvertBGRAToBGR_C [function] [call site] 00021
4 VP8LConvertBGRAToRGBA4444_C [function] [call site] 00022
4 VP8LConvertBGRAToRGB565_C [function] [call site] 00023
4 MapARGB_C [function] [call site] 00024
5 VP8GetARGBIndex [function] [call site] 00025
4 MapAlpha_C [function] [call site] 00026
5 VP8GetAlphaIndex [function] [call site] 00027
4 VP8LDspInitSSE2 [function] [call site] 00028
5 Predictor5_SSE2 [function] [call site] 00029
6 Average3_SSE2 [function] [call site] 00030
7 Average2_uint32_16_SSE2 [function] [call site] 00031
5 Predictor6_SSE2 [function] [call site] 00032
6 Average2_SSE2 [function] [call site] 00033
7 Average2_uint32_SSE2 [function] [call site] 00034
5 Predictor7_SSE2 [function] [call site] 00035
6 Average2_SSE2 [function] [call site] 00036
5 Predictor8_SSE2 [function] [call site] 00037
6 Average2_SSE2 [function] [call site] 00038
5 Predictor9_SSE2 [function] [call site] 00039
6 Average2_SSE2 [function] [call site] 00040
5 Predictor10_SSE2 [function] [call site] 00041
6 Average4_SSE2 [function] [call site] 00042
7 Average2_uint32_16_SSE2 [function] [call site] 00043
7 Average2_uint32_16_SSE2 [function] [call site] 00044
5 Predictor11_SSE2 [function] [call site] 00045
6 Select_SSE2 [function] [call site] 00046
5 Predictor12_SSE2 [function] [call site] 00047
6 ClampedAddSubtractFull_SSE2 [function] [call site] 00048
5 Predictor13_SSE2 [function] [call site] 00049
6 ClampedAddSubtractHalf_SSE2 [function] [call site] 00050
5 PredictorAdd0_SSE2 [function] [call site] 00051
5 PredictorAdd1_SSE2 [function] [call site] 00052
5 PredictorAdd2_SSE2 [function] [call site] 00053
5 PredictorAdd3_SSE2 [function] [call site] 00054
5 PredictorAdd4_SSE2 [function] [call site] 00055
5 PredictorAdd5_SSE2 [function] [call site] 00056
6 __assert_fail [call site] 00057
6 Predictor5_SSE2 [function] [call site] 00058
6 VP8LAddPixels [function] [call site] 00059
5 PredictorAdd6_SSE2 [function] [call site] 00060
6 __assert_fail [call site] 00061
6 Predictor6_SSE2 [function] [call site] 00062
6 VP8LAddPixels [function] [call site] 00063
5 PredictorAdd7_SSE2 [function] [call site] 00064
6 __assert_fail [call site] 00065
6 Predictor7_SSE2 [function] [call site] 00066
6 VP8LAddPixels [function] [call site] 00067
5 PredictorAdd8_SSE2 [function] [call site] 00068
6 Average2_m128i [function] [call site] 00069
5 PredictorAdd9_SSE2 [function] [call site] 00070
6 Average2_m128i [function] [call site] 00071
5 PredictorAdd10_SSE2 [function] [call site] 00072
6 Average2_m128i [function] [call site] 00073
6 Average2_m128i [function] [call site] 00074
6 Average2_m128i [function] [call site] 00075
6 Average2_m128i [function] [call site] 00076
6 Average2_m128i [function] [call site] 00077
5 PredictorAdd11_SSE2 [function] [call site] 00078
5 PredictorAdd12_SSE2 [function] [call site] 00079
5 PredictorAdd13_SSE2 [function] [call site] 00080
6 __assert_fail [call site] 00081
6 Predictor13_SSE2 [function] [call site] 00082
6 VP8LAddPixels [function] [call site] 00083
5 AddGreenToBlueAndRed_SSE2 [function] [call site] 00084
6 VP8LAddGreenToBlueAndRed_C [function] [call site] 00085
5 TransformColorInverse_SSE2 [function] [call site] 00086
6 VP8LTransformColorInverse_C [function] [call site] 00087
5 ConvertBGRAToRGB_SSE2 [function] [call site] 00088
6 VP8L32bToPlanar_SSE2 [function] [call site] 00089
6 VP8L32bToPlanar_SSE2 [function] [call site] 00090
6 VP8PlanarTo24b_SSE2 [function] [call site] 00091
6 VP8LConvertBGRAToRGB_C [function] [call site] 00092
5 ConvertBGRAToRGBA_SSE2 [function] [call site] 00093
6 VP8LConvertBGRAToRGBA_C [function] [call site] 00094
5 ConvertBGRAToRGBA4444_SSE2 [function] [call site] 00095
6 VP8LConvertBGRAToRGBA4444_C [function] [call site] 00096
5 ConvertBGRAToRGB565_SSE2 [function] [call site] 00097
6 VP8LConvertBGRAToRGB565_C [function] [call site] 00098
5 ConvertBGRAToBGR_SSE2 [function] [call site] 00099
6 VP8LConvertBGRAToBGR_C [function] [call site] 00100
4 VP8LDspInitSSE41 [function] [call site] 00101
5 TransformColorInverse_SSE41 [function] [call site] 00102
6 VP8LTransformColorInverse_C [function] [call site] 00103
5 ConvertBGRAToRGB_SSE41 [function] [call site] 00104
6 VP8LConvertBGRAToRGB_C [function] [call site] 00105
5 ConvertBGRAToBGR_SSE41 [function] [call site] 00106
6 VP8LConvertBGRAToBGR_C [function] [call site] 00107
4 __assert_fail [call site] 00108
4 __assert_fail [call site] 00109
4 __assert_fail [call site] 00110
4 __assert_fail [call site] 00111
4 __assert_fail [call site] 00112
4 __assert_fail [call site] 00113
4 __assert_fail [call site] 00114
4 __assert_fail [call site] 00115
4 __assert_fail [call site] 00116
1 VP8LInitBitReader [function] [call site] 00117
2 __assert_fail [call site] 00118
2 __assert_fail [call site] 00119
2 __assert_fail [call site] 00120
1 VP8LReadBits [function] [call site] 00121
2 __assert_fail [call site] 00122
2 VP8LPrefetchBits [function] [call site] 00123
2 ShiftBytes [function] [call site] 00124
3 VP8LIsEndOfStream [function] [call site] 00125
4 __assert_fail [call site] 00126
3 VP8LSetEndOfStream [function] [call site] 00127
2 VP8LSetEndOfStream [function] [call site] 00128
1 VP8LReadBits [function] [call site] 00129
1 ReadHuffmanCodesHelper [function] [call site] 00130
2 WebPSafeCalloc [function] [call site] 00131
2 VP8LHtreeGroupsNew [function] [call site] 00132
3 WebPSafeMalloc [function] [call site] 00133
4 CheckSizeArgumentsOverflow [function] [call site] 00134
4 __assert_fail [call site] 00135
3 __assert_fail [call site] 00136
2 VP8LHuffmanTablesAllocate [function] [call site] 00137
3 WebPSafeMalloc [function] [call site] 00138
2 VP8LSetError [function] [call site] 00139
2 ReadHuffmanCode [function] [call site] 00140
3 VP8LReadBits [function] [call site] 00141
3 VP8LReadBits [function] [call site] 00142
3 VP8LReadBits [function] [call site] 00143
3 VP8LReadBits [function] [call site] 00144
3 VP8LReadBits [function] [call site] 00145
3 VP8LReadBits [function] [call site] 00146
3 __assert_fail [call site] 00147
3 VP8LReadBits [function] [call site] 00148
3 ReadHuffmanCodeLengths [function] [call site] 00149
4 VP8LHuffmanTablesAllocate [function] [call site] 00150
4 VP8LBuildHuffmanTable [function] [call site] 00151
5 BuildHuffmanTable [function] [call site] 00152
6 __assert_fail [call site] 00153
6 __assert_fail [call site] 00154
6 __assert_fail [call site] 00155
6 __assert_fail [call site] 00156
6 ReplicateValue [function] [call site] 00157
7 __assert_fail [call site] 00158
6 ReplicateValue [function] [call site] 00159
6 GetNextKey [function] [call site] 00160
6 NextTableBitSize [function] [call site] 00161
6 ReplicateValue [function] [call site] 00162
6 GetNextKey [function] [call site] 00163
5 __assert_fail [call site] 00164
5 WebPSafeMalloc [function] [call site] 00165
5 WebPSafeMalloc [function] [call site] 00166
5 WebPSafeFree [function] [call site] 00167
5 BuildHuffmanTable [function] [call site] 00168
5 WebPSafeMalloc [function] [call site] 00169
5 BuildHuffmanTable [function] [call site] 00170
5 WebPSafeFree [function] [call site] 00171
4 VP8LReadBits [function] [call site] 00172
4 VP8LReadBits [function] [call site] 00173
4 VP8LReadBits [function] [call site] 00174
4 VP8LFillBitWindow [function] [call site] 00175
5 VP8LDoFillBitWindow [function] [call site] 00176
6 __assert_fail [call site] 00177
6 WebPMemToUint32 [function] [call site] 00178
6 ShiftBytes [function] [call site] 00179
4 VP8LPrefetchBits [function] [call site] 00180
4 VP8LSetBitPos [function] [call site] 00181
4 VP8LReadBits [function] [call site] 00182
4 VP8LHuffmanTablesDeallocate [function] [call site] 00183
5 WebPSafeFree [function] [call site] 00184
5 WebPSafeFree [function] [call site] 00185
5 WebPSafeFree [function] [call site] 00186
4 VP8LSetError [function] [call site] 00187
3 VP8LBuildHuffmanTable [function] [call site] 00188
3 VP8LSetError [function] [call site] 00189
2 ReadHuffmanCode [function] [call site] 00190
2 BuildPackedTable [function] [call site] 00191
3 AccumulateHCode [function] [call site] 00192
4 __assert_fail [call site] 00193
3 AccumulateHCode [function] [call site] 00194
3 AccumulateHCode [function] [call site] 00195
3 AccumulateHCode [function] [call site] 00196
2 WebPSafeFree [function] [call site] 00197
2 VP8LHuffmanTablesDeallocate [function] [call site] 00198
2 VP8LHtreeGroupsFree [function] [call site] 00199
3 WebPSafeFree [function] [call site] 00200
1 WebPSafeFree [function] [call site] 00201
1 VP8LHtreeGroupsFree [function] [call site] 00202
1 VP8LHuffmanTablesDeallocate [function] [call site] 00203
1 VP8LDelete [function] [call site] 00204
2 VP8LClear [function] [call site] 00205
3 ClearMetadata [function] [call site] 00206
4 __assert_fail [call site] 00207
4 WebPSafeFree [function] [call site] 00208
4 VP8LHuffmanTablesDeallocate [function] [call site] 00209
4 VP8LHtreeGroupsFree [function] [call site] 00210
4 VP8LColorCacheClear [function] [call site] 00211
4 VP8LColorCacheClear [function] [call site] 00212
4 InitMetadata [function] [call site] 00213
5 __assert_fail [call site] 00214
3 WebPSafeFree [function] [call site] 00215
3 ClearTransform [function] [call site] 00216
4 WebPSafeFree [function] [call site] 00217
3 WebPSafeFree [function] [call site] 00218
2 WebPSafeFree [function] [call site] 00219