Fuzz introspector: simple_decompress
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
332 332 1 :

['HUF_readStats_body_default']

332 332 HUF_readStats_wksp call site: 00000 /src/zstd/lib/common/entropy_common.c:334
329 329 1 :

['ZSTD_decompressSequencesSplitLitBuffer_default']

329 329 ZSTD_decompressSequencesSplitLitBuffer call site: 00000 /src/zstd/lib/decompress/zstd_decompress_block.c:1965
235 235 1 :

['FSE_decompress_wksp_body_default']

235 235 FSE_decompress_wksp_bmi2 call site: 00000 /src/zstd/lib/common/fse_decompress.c:307
57 57 1 :

['ZSTD_DCtx_selectFrameDDict']

57 61 ZSTD_decodeFrameHeader call site: 00000 /src/zstd/lib/decompress/zstd_decompress.c:707
22 22 1 :

['ZSTD_buildFSETable_body_default']

22 22 ZSTD_buildFSETable call site: 00000 /src/zstd/lib/decompress/zstd_decompress_block.c:632
8 8 2 :

['ZSTD_DDict_dictSize', 'ZSTD_DDict_dictContent']

32 2185 ZSTD_decompressMultiFrame call site: 00000 /src/zstd/lib/decompress/zstd_decompress.c:1080
4 4 1 :

['XXH_readLE32']

4 4 XXH_readLE32_align call site: 00000 /src/zstd/lib/common/xxhash.h:2765
2 2 2 :

['ERR_isError.3555', 'ZSTD_decompress_insertDictionary']

2 2 ZSTD_decompressBegin_usingDict call site: 00000 /src/zstd/lib/decompress/zstd_decompress.c:1589
2 2 1 :

['ZSTD_errorFrameSizeInfo']

2 2 ZSTD_findFrameSizeInfo call site: 00206 /src/zstd/lib/decompress/zstd_decompress.c:785
0 14 3 :

['ZSTDv05_copy4', 'ZSTDv05_copy8', 'ZSTDv05_wildcopy']

0 14 ZSTDv05_execSequence call site: 00000 /src/zstd/lib/legacy/zstd_v05.c:3204
0 14 3 :

['ZSTDv06_copy4', 'ZSTDv06_copy8', 'ZSTDv06_wildcopy']

0 14 ZSTDv06_execSequence call site: 00000 /src/zstd/lib/legacy/zstd_v06.c:3336
0 14 3 :

['ZSTDv07_wildcopy', 'ZSTDv07_copy8', 'ZSTDv07_copy4']

0 14 ZSTDv07_execSequence call site: 00000 /src/zstd/lib/legacy/zstd_v07.c:3561

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 FUZZ_dataProducer_create [function] [call site] 00001
2 FUZZ_malloc [function] [call site] 00002
3 fprintf [call site] 00003
1 FUZZ_dataProducer_reserveDataPrefix [function] [call site] 00004
2 FUZZ_dataProducer_uint32Range [function] [call site] 00005
3 fprintf [call site] 00006
2 FUZZ_dataProducer_contract [function] [call site] 00007
1 ZSTD_createDCtx [function] [call site] 00008
2 ZSTD_createDCtx_internal [function] [call site] 00009
3 ZSTD_customMalloc [function] [call site] 00010
3 ZSTD_initDCtx_internal [function] [call site] 00011
4 ZSTD_cpuSupportsBmi2 [function] [call site] 00012
5 ZSTD_cpuid [function] [call site] 00013
5 ZSTD_cpuid_bmi1 [function] [call site] 00014
4 ZSTD_DCtx_resetParameters [function] [call site] 00015
5 __assert_fail [call site] 00016
1 fprintf [call site] 00017
1 FUZZ_dataProducer_uint32Range [function] [call site] 00018
1 FUZZ_malloc [function] [call site] 00019
1 ZSTD_decompressDCtx [function] [call site] 00020
2 ZSTD_getDDict [function] [call site] 00021
3 __assert_fail [call site] 00022
3 ZSTD_clearDict [function] [call site] 00023
4 ZSTD_freeDDict [function] [call site] 00024
5 ZSTD_customFree [function] [call site] 00025
5 ZSTD_customFree [function] [call site] 00026
1 ZSTD_isError [function] [call site] 00027
2 ERR_isError [function] [call site] 00028
1 ZSTD_findDecompressedSize [function] [call site] 00029
2 ZSTD_startingInputLength [function] [call site] 00030
3 __assert_fail [call site] 00031
2 MEM_readLE32 [function] [call site] 00032
3 MEM_isLittleEndian [function] [call site] 00033
3 MEM_read32 [function] [call site] 00034
3 MEM_read32 [function] [call site] 00035
2 readSkippableFrameSize [function] [call site] 00036
3 MEM_readLE32 [function] [call site] 00037
2 ERR_isError [function] [call site] 00038
2 __assert_fail [call site] 00039
2 ZSTD_getFrameContentSize [function] [call site] 00040
3 ZSTD_isLegacy [function] [call site] 00041
4 MEM_readLE32 [function] [call site] 00042
3 ZSTD_getDecompressedSize_legacy [function] [call site] 00043
4 ZSTD_isLegacy [function] [call site] 00044
4 ZSTDv05_getFrameParams [function] [call site] 00045
5 MEM_readLE32 [function] [call site] 00046
6 MEM_isLittleEndian [function] [call site] 00047
6 MEM_read32 [function] [call site] 00048
6 MEM_read32 [function] [call site] 00049
4 ZSTDv06_getFrameParams [function] [call site] 00050
5 MEM_readLE32 [function] [call site] 00051
6 MEM_isLittleEndian [function] [call site] 00052
6 MEM_read32 [function] [call site] 00053
6 MEM_read32 [function] [call site] 00054
5 ZSTDv06_frameHeaderSize [function] [call site] 00055
5 MEM_readLE16 [function] [call site] 00056
6 MEM_isLittleEndian [function] [call site] 00057
6 MEM_read16 [function] [call site] 00058
5 MEM_readLE64 [function] [call site] 00059
6 MEM_isLittleEndian [function] [call site] 00060
6 MEM_read64 [function] [call site] 00061
6 MEM_read64 [function] [call site] 00062
4 ZSTDv07_getFrameParams [function] [call site] 00063
5 MEM_readLE32 [function] [call site] 00064
6 MEM_isLittleEndian [function] [call site] 00065
6 MEM_read32 [function] [call site] 00066
6 MEM_read32 [function] [call site] 00067
5 MEM_readLE32 [function] [call site] 00068
5 MEM_readLE32 [function] [call site] 00069
5 ZSTDv07_frameHeaderSize [function] [call site] 00070
5 MEM_32bits [function] [call site] 00071
5 MEM_32bits [function] [call site] 00072
5 MEM_readLE16 [function] [call site] 00073
6 MEM_isLittleEndian [function] [call site] 00074
6 MEM_read16 [function] [call site] 00075
5 MEM_readLE32 [function] [call site] 00076
5 MEM_readLE16 [function] [call site] 00077
5 MEM_readLE32 [function] [call site] 00078
5 MEM_readLE64 [function] [call site] 00079
6 MEM_isLittleEndian [function] [call site] 00080
6 MEM_read64 [function] [call site] 00081
6 MEM_read64 [function] [call site] 00082
3 ZSTD_getFrameHeader [function] [call site] 00083
4 ZSTD_getFrameHeader_advanced [function] [call site] 00084
5 ZSTD_startingInputLength [function] [call site] 00085
5 MEM_writeLE32 [function] [call site] 00086
6 MEM_isLittleEndian [function] [call site] 00087
6 MEM_write32 [function] [call site] 00088
6 MEM_swap32 [function] [call site] 00089
5 __assert_fail [call site] 00090
5 MEM_readLE32 [function] [call site] 00091
5 MEM_writeLE32 [function] [call site] 00092
5 MEM_readLE32 [function] [call site] 00093
5 MEM_readLE32 [function] [call site] 00094
5 MEM_readLE32 [function] [call site] 00095
5 MEM_readLE32 [function] [call site] 00096
5 ZSTD_frameHeaderSize_internal [function] [call site] 00097
6 ZSTD_startingInputLength [function] [call site] 00098
5 __assert_fail [call site] 00099
5 MEM_readLE16 [function] [call site] 00100
6 MEM_isLittleEndian [function] [call site] 00101
6 MEM_read16 [function] [call site] 00102
5 MEM_readLE32 [function] [call site] 00103
5 __assert_fail [call site] 00104
5 MEM_readLE16 [function] [call site] 00105
5 MEM_readLE32 [function] [call site] 00106
5 MEM_readLE64 [function] [call site] 00107
6 MEM_isLittleEndian [function] [call site] 00108
6 MEM_read64 [function] [call site] 00109
6 MEM_read64 [function] [call site] 00110
2 ZSTD_findFrameCompressedSize [function] [call site] 00111
3 ZSTD_findFrameCompressedSize_advanced [function] [call site] 00112
4 ZSTD_findFrameSizeInfo [function] [call site] 00113
5 ZSTD_isLegacy [function] [call site] 00114
5 ZSTD_findFrameSizeInfoLegacy [function] [call site] 00115
6 ZSTD_isLegacy [function] [call site] 00116
6 ZSTDv01_findFrameSizeInfoLegacy [function] [call site] 00117
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00118
7 ZSTD_readBE32 [function] [call site] 00119
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00120
7 ZSTDv01_getcBlockSize [function] [call site] 00121
7 ZSTDv01_isError [function] [call site] 00122
8 ERR_isError [function] [call site] 00123
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00124
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00125
6 ZSTDv02_findFrameSizeInfoLegacy [function] [call site] 00126
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00127
7 MEM_readLE32 [function] [call site] 00128
8 MEM_isLittleEndian [function] [call site] 00129
8 MEM_read32 [function] [call site] 00130
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00131
7 ZSTD_getcBlockSize [function] [call site] 00132
7 ZSTD_isError [function] [call site] 00133
8 ERR_isError [function] [call site] 00134
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00135
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00136
6 ZSTDv03_findFrameSizeInfoLegacy [function] [call site] 00137
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00138
7 MEM_readLE32 [function] [call site] 00139
8 MEM_isLittleEndian [function] [call site] 00140
8 MEM_read32 [function] [call site] 00141
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00142
7 ZSTD_getcBlockSize [function] [call site] 00143
7 ZSTD_isError [function] [call site] 00144
8 ERR_isError [function] [call site] 00145
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00146
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00147
6 ZSTDv04_findFrameSizeInfoLegacy [function] [call site] 00148
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00149
7 MEM_readLE32 [function] [call site] 00150
8 MEM_isLittleEndian [function] [call site] 00151
8 MEM_read32 [function] [call site] 00152
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00153
7 ZSTD_getcBlockSize [function] [call site] 00154
7 ZSTD_isError [function] [call site] 00155
8 ERR_isError [function] [call site] 00156
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00157
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00158
6 ZSTDv05_findFrameSizeInfoLegacy [function] [call site] 00159
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00160
7 MEM_readLE32 [function] [call site] 00161
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00162
7 ZSTDv05_getcBlockSize [function] [call site] 00163
7 ZSTDv05_isError [function] [call site] 00164
8 ERR_isError [function] [call site] 00165
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00166
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00167
6 ZSTDv06_findFrameSizeInfoLegacy [function] [call site] 00168
7 ZSTDv06_frameHeaderSize [function] [call site] 00169
7 ERR_isError [function] [call site] 00170
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00171
7 MEM_readLE32 [function] [call site] 00172
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00173
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00174
7 ZSTDv06_getcBlockSize [function] [call site] 00175
7 ERR_isError [function] [call site] 00176
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00177
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00178
6 ZSTDv07_findFrameSizeInfoLegacy [function] [call site] 00179
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00180
7 ZSTDv07_frameHeaderSize [function] [call site] 00181
7 ERR_isError [function] [call site] 00182
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00183
7 MEM_readLE32 [function] [call site] 00184
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00185
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00186
7 ZSTDv07_getcBlockSize [function] [call site] 00187
7 ERR_isError [function] [call site] 00188
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00189
7 ZSTD_errorFrameSizeInfoLegacy [function] [call site] 00190
6 ERR_isError [function] [call site] 00191
6 __assert_fail [call site] 00192
5 MEM_readLE32 [function] [call site] 00193
5 readSkippableFrameSize [function] [call site] 00194
5 ERR_isError [function] [call site] 00195
5 __assert_fail [call site] 00196
5 ZSTD_getFrameHeader_advanced [function] [call site] 00197
5 ERR_isError [function] [call site] 00198
5 ZSTD_errorFrameSizeInfo [function] [call site] 00199
5 ZSTD_errorFrameSizeInfo [function] [call site] 00200
5 ZSTD_getcBlockSize [function] [call site] 00201
6 MEM_readLE24 [function] [call site] 00202
7 MEM_readLE16 [function] [call site] 00203
5 ERR_isError [function] [call site] 00204
5 ZSTD_errorFrameSizeInfo [function] [call site] 00205
5 ZSTD_errorFrameSizeInfo [function] [call site] 00206
5 ZSTD_errorFrameSizeInfo [function] [call site] 00207
2 ERR_isError [function] [call site] 00208
2 __assert_fail [call site] 00209
1 fprintf [call site] 00210
1 fprintf [call site] 00211
1 FUZZ_dataProducer_free [function] [call site] 00212
1 ZSTD_freeDCtx [function] [call site] 00213
2 ZSTD_clearDict [function] [call site] 00214
2 ZSTD_customFree [function] [call site] 00215
2 ZSTD_freeLegacyStreamContext [function] [call site] 00216
3 ZBUFFv04_freeDCtx [function] [call site] 00217
4 ZBUFF_freeDCtx [function] [call site] 00218
5 ZSTD_freeDCtx [function] [call site] 00219
3 ZBUFFv05_freeDCtx [function] [call site] 00220
4 ZSTDv05_freeDCtx [function] [call site] 00221
3 ZBUFFv06_freeDCtx [function] [call site] 00222
4 ZSTDv06_freeDCtx [function] [call site] 00223
3 ZBUFFv07_freeDCtx [function] [call site] 00224
4 ZSTDv07_freeDCtx [function] [call site] 00225
2 ZSTD_freeDDictHashSet [function] [call site] 00226
3 ZSTD_customFree [function] [call site] 00227
3 ZSTD_customFree [function] [call site] 00228
2 ZSTD_customFree [function] [call site] 00229