Fuzz introspector: zopfli_deflate_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
17 17 1 :

['PrintBlockSplitPoints']

17 17 ZopfliBlockSplitLZ77 call site: 00247 /src/zopfli/src/zopfli/blocksplitter.c:268
2 2 1 :

['exit']

2 2 ZopfliInitCache call site: 00016 /src/zopfli/src/zopfli/cache.c:34
0 0 None 0 497 ZopfliLZ77Optimal call site: 00281 /src/zopfli/src/zopfli/squeeze.c:493
0 0 None 0 269 AddLZ77BlockAutoType call site: 00326 /src/zopfli/src/zopfli/deflate.c:787
0 0 None 0 105 GetBestLengths call site: 00034 /src/zopfli/src/zopfli/squeeze.c:277
0 0 None 0 0 ZopfliLengthLimitedCodeLengths call site: 00116 /src/zopfli/src/zopfli/katajainen.c:202
0 0 None 0 0 ZopfliLengthLimitedCodeLengths call site: 00116 /src/zopfli/src/zopfli/katajainen.c:225
0 0 None 0 0 ZopfliVerifyLenDist call site: 00081 /src/zopfli/src/zopfli/lz77.c:281

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 ZopfliInitOptions [function] [call site] 00001
1 ZopfliDeflate [function] [call site] 00002
2 ZopfliDeflatePart [function] [call site] 00003
3 AddNonCompressedBlock [function] [call site] 00004
4 AddBit [function] [call site] 00005
5 realloc [call site] 00006
4 realloc [call site] 00009
4 realloc [call site] 00010
4 realloc [call site] 00011
4 realloc [call site] 00012
4 realloc [call site] 00013
3 ZopfliInitLZ77Store [function] [call site] 00014
3 ZopfliInitBlockState [function] [call site] 00015
4 ZopfliInitCache [function] [call site] 00016
5 fprintf [call site] 00017
5 exit [call site] 00018
3 ZopfliLZ77OptimalFixed [function] [call site] 00019
4 exit [call site] 00020
4 exit [call site] 00021
4 ZopfliAllocHash [function] [call site] 00022
4 LZ77OptimalRun [function] [call site] 00023
5 GetBestLengths [function] [call site] 00024
6 GetCostModelMinCost [function] [call site] 00025
6 ZopfliResetHash [function] [call site] 00026
6 ZopfliWarmupHash [function] [call site] 00027
7 UpdateHashValue [function] [call site] 00028
7 UpdateHashValue [function] [call site] 00029
6 ZopfliUpdateHash [function] [call site] 00030
7 UpdateHashValue [function] [call site] 00031
6 ZopfliUpdateHash [function] [call site] 00032
6 ZopfliUpdateHash [function] [call site] 00033
6 ZopfliFindLongestMatch [function] [call site] 00034
7 TryGetFromLongestMatchCache [function] [call site] 00035
8 ZopfliMaxCachedSublen [function] [call site] 00036
8 ZopfliMaxCachedSublen [function] [call site] 00037
8 ZopfliCacheToSublen [function] [call site] 00038
9 ZopfliMaxCachedSublen [function] [call site] 00039
8 __assert_fail [call site] 00040
7 __assert_fail [call site] 00041
7 __assert_fail [call site] 00042
7 __assert_fail [call site] 00043
7 __assert_fail [call site] 00044
7 __assert_fail [call site] 00045
7 __assert_fail [call site] 00046
7 __assert_fail [call site] 00047
7 __assert_fail [call site] 00048
7 __assert_fail [call site] 00049
7 __assert_fail [call site] 00050
7 __assert_fail [call site] 00051
7 StoreInLongestMatchCache [function] [call site] 00053
8 __assert_fail [call site] 00054
8 __assert_fail [call site] 00055
8 ZopfliSublenToCache [function] [call site] 00056
9 __assert_fail [call site] 00057
9 __assert_fail [call site] 00058
9 ZopfliMaxCachedSublen [function] [call site] 00059
9 __assert_fail [call site] 00060
7 __assert_fail [call site] 00061
7 __assert_fail [call site] 00062
6 __assert_fail [call site] 00063
6 zopfli_min [function] [call site] 00064
6 __assert_fail [call site] 00065
6 __assert_fail [call site] 00066
6 __assert_fail [call site] 00067
5 TraceBackwards [function] [call site] 00068
6 realloc [call site] 00069
6 __assert_fail [call site] 00070
6 __assert_fail [call site] 00071
6 __assert_fail [call site] 00072
5 FollowPath [function] [call site] 00073
6 ZopfliResetHash [function] [call site] 00074
6 ZopfliWarmupHash [function] [call site] 00075
6 ZopfliUpdateHash [function] [call site] 00076
6 __assert_fail [call site] 00077
6 ZopfliUpdateHash [function] [call site] 00078
6 ZopfliFindLongestMatch [function] [call site] 00079
6 __assert_fail [call site] 00080
6 ZopfliVerifyLenDist [function] [call site] 00081
7 __assert_fail [call site] 00082
6 ZopfliStoreLitLenDist [function] [call site] 00083
7 realloc [call site] 00084
7 realloc [call site] 00085
7 realloc [call site] 00086
7 realloc [call site] 00087
7 realloc [call site] 00088
7 __assert_fail [call site] 00089
7 realloc [call site] 00090
7 realloc [call site] 00091
7 realloc [call site] 00092
7 ZopfliGetLengthSymbol [function] [call site] 00093
7 realloc [call site] 00094
7 ZopfliGetDistSymbol [function] [call site] 00095
7 ZopfliGetLengthSymbol [function] [call site] 00096
7 ZopfliGetDistSymbol [function] [call site] 00097
6 ZopfliStoreLitLenDist [function] [call site] 00098
6 __assert_fail [call site] 00099
6 ZopfliUpdateHash [function] [call site] 00100
5 __assert_fail [call site] 00101
4 ZopfliCleanHash [function] [call site] 00102
3 AddLZ77Block [function] [call site] 00103
4 ZopfliLZ77GetByteRange [function] [call site] 00104
4 AddNonCompressedBlock [function] [call site] 00105
4 GetFixedTree [function] [call site] 00109
4 __assert_fail [call site] 00110
4 GetDynamicLengths [function] [call site] 00111
5 ZopfliLZ77GetHistogram [function] [call site] 00112
6 ZopfliLZ77GetHistogramAt [function] [call site] 00113
6 ZopfliLZ77GetHistogramAt [function] [call site] 00114
5 ZopfliCalculateBitLengths [function] [call site] 00115
6 ZopfliLengthLimitedCodeLengths [function] [call site] 00116
7 qsort [call site] 00117
7 LeafComparator [function] [call site] 00118
7 BoundaryPMFinal [function] [call site] 00127
7 ExtractBitLengths [function] [call site] 00128
6 __assert_fail [call site] 00129
5 ZopfliCalculateBitLengths [function] [call site] 00130
5 PatchDistanceCodesForBuggyDecoders [function] [call site] 00131
5 TryOptimizeHuffmanForRle [function] [call site] 00132
6 CalculateTreeSize [function] [call site] 00133
7 EncodeTree [function] [call site] 00134
8 realloc [call site] 00135
8 realloc [call site] 00136
8 realloc [call site] 00137
8 realloc [call site] 00138
8 realloc [call site] 00139
8 realloc [call site] 00140
8 realloc [call site] 00141
8 realloc [call site] 00142
8 realloc [call site] 00143
8 realloc [call site] 00144
8 ZopfliCalculateBitLengths [function] [call site] 00145
8 ZopfliLengthsToSymbols [function] [call site] 00146
9 __assert_fail [call site] 00147
8 AddBits [function] [call site] 00148
9 realloc [call site] 00149
8 AddHuffmanBits [function] [call site] 00153
9 realloc [call site] 00154
6 CalculateBlockSymbolSizeGivenCounts [function] [call site] 00158
7 CalculateBlockSymbolSizeSmall [function] [call site] 00159
8 __assert_fail [call site] 00160
8 __assert_fail [call site] 00161
8 ZopfliGetLengthSymbol [function] [call site] 00162
8 ZopfliGetDistSymbol [function] [call site] 00163
8 ZopfliGetLengthSymbolExtraBits [function] [call site] 00164
8 ZopfliGetDistSymbolExtraBits [function] [call site] 00165
7 ZopfliGetLengthSymbolExtraBits [function] [call site] 00166
7 ZopfliGetDistSymbolExtraBits [function] [call site] 00167
6 OptimizeHuffmanForRle [function] [call site] 00168
6 OptimizeHuffmanForRle [function] [call site] 00170
6 ZopfliCalculateBitLengths [function] [call site] 00171
6 ZopfliCalculateBitLengths [function] [call site] 00172
6 PatchDistanceCodesForBuggyDecoders [function] [call site] 00173
6 CalculateTreeSize [function] [call site] 00174
6 CalculateBlockSymbolSizeGivenCounts [function] [call site] 00175
4 AddDynamicTree [function] [call site] 00176
5 EncodeTree [function] [call site] 00177
5 EncodeTree [function] [call site] 00178
4 fprintf [call site] 00179
4 ZopfliLengthsToSymbols [function] [call site] 00180
4 ZopfliLengthsToSymbols [function] [call site] 00181
4 AddLZ77Data [function] [call site] 00182
5 __assert_fail [call site] 00183
5 __assert_fail [call site] 00184
5 AddHuffmanBits [function] [call site] 00185
5 ZopfliGetLengthSymbol [function] [call site] 00186
5 ZopfliGetDistSymbol [function] [call site] 00187
5 __assert_fail [call site] 00188
5 __assert_fail [call site] 00189
5 __assert_fail [call site] 00190
5 AddHuffmanBits [function] [call site] 00191
5 ZopfliGetLengthExtraBitsValue [function] [call site] 00192
5 ZopfliGetLengthExtraBits [function] [call site] 00193
5 AddHuffmanBits [function] [call site] 00195
5 ZopfliGetDistExtraBitsValue [function] [call site] 00196
5 ZopfliGetDistExtraBits [function] [call site] 00197
5 __assert_fail [call site] 00199
4 AddHuffmanBits [function] [call site] 00200
4 fprintf [call site] 00201
3 ZopfliCleanBlockState [function] [call site] 00202
4 ZopfliCleanCache [function] [call site] 00203
3 ZopfliCleanLZ77Store [function] [call site] 00204
3 ZopfliBlockSplit [function] [call site] 00205
4 ZopfliInitLZ77Store [function] [call site] 00206
4 ZopfliInitBlockState [function] [call site] 00207
4 ZopfliAllocHash [function] [call site] 00208
4 ZopfliLZ77Greedy [function] [call site] 00209
5 ZopfliResetHash [function] [call site] 00210
5 ZopfliWarmupHash [function] [call site] 00211
5 ZopfliUpdateHash [function] [call site] 00212
5 ZopfliUpdateHash [function] [call site] 00213
5 ZopfliFindLongestMatch [function] [call site] 00214
5 GetLengthScore [function] [call site] 00215
5 GetLengthScore [function] [call site] 00216
5 ZopfliStoreLitLenDist [function] [call site] 00217
5 ZopfliVerifyLenDist [function] [call site] 00218
5 ZopfliStoreLitLenDist [function] [call site] 00219
5 __assert_fail [call site] 00220
5 ZopfliUpdateHash [function] [call site] 00221
5 ZopfliVerifyLenDist [function] [call site] 00222
5 ZopfliStoreLitLenDist [function] [call site] 00223
5 ZopfliStoreLitLenDist [function] [call site] 00224
5 __assert_fail [call site] 00225
5 ZopfliUpdateHash [function] [call site] 00226
4 ZopfliBlockSplitLZ77 [function] [call site] 00227
5 exit [call site] 00228
5 __assert_fail [call site] 00229
5 FindMinimum [function] [call site] 00230
5 __assert_fail [call site] 00231
5 __assert_fail [call site] 00232
5 EstimateCost [function] [call site] 00233
6 ZopfliCalculateBlockSizeAutoType [function] [call site] 00234
7 ZopfliCalculateBlockSize [function] [call site] 00235
8 ZopfliLZ77GetByteRange [function] [call site] 00236
8 GetFixedTree [function] [call site] 00237
8 CalculateBlockSymbolSize [function] [call site] 00238
9 CalculateBlockSymbolSizeSmall [function] [call site] 00239
9 ZopfliLZ77GetHistogram [function] [call site] 00240
9 CalculateBlockSymbolSizeGivenCounts [function] [call site] 00241
8 GetDynamicLengths [function] [call site] 00242
7 ZopfliCalculateBlockSize [function] [call site] 00243
7 ZopfliCalculateBlockSize [function] [call site] 00244
5 AddSorted [function] [call site] 00245
6 realloc [call site] 00246
5 FindLargestSplittableBlock [function] [call site] 00247
5 PrintBlockSplitPoints [function] [call site] 00248
6 realloc [call site] 00249
6 __assert_fail [call site] 00250
6 fprintf [call site] 00251
6 fprintf [call site] 00252
6 fprintf [call site] 00253
6 fprintf [call site] 00254
4 realloc [call site] 00255
4 __assert_fail [call site] 00256
4 ZopfliCleanBlockState [function] [call site] 00257
4 ZopfliCleanLZ77Store [function] [call site] 00258
4 ZopfliCleanHash [function] [call site] 00259
3 ZopfliInitLZ77Store [function] [call site] 00260
3 ZopfliInitLZ77Store [function] [call site] 00261
3 ZopfliInitBlockState [function] [call site] 00262
3 ZopfliLZ77Optimal [function] [call site] 00263
4 exit [call site] 00264
4 InitRanState [function] [call site] 00265
4 InitStats [function] [call site] 00266
4 ZopfliInitLZ77Store [function] [call site] 00267
4 ZopfliAllocHash [function] [call site] 00268
4 ZopfliLZ77Greedy [function] [call site] 00269
4 GetStatistics [function] [call site] 00270
5 ZopfliGetLengthSymbol [function] [call site] 00271
5 ZopfliGetDistSymbol [function] [call site] 00272
5 CalculateStatistics [function] [call site] 00273
6 ZopfliCalculateEntropy [function] [call site] 00274
7 log [call site] 00275
7 __assert_fail [call site] 00276
6 ZopfliCalculateEntropy [function] [call site] 00277
4 ZopfliCleanLZ77Store [function] [call site] 00278
4 ZopfliInitLZ77Store [function] [call site] 00279
4 LZ77OptimalRun [function] [call site] 00280
4 ZopfliCalculateBlockSize [function] [call site] 00281
4 fprintf [call site] 00282
4 ZopfliCopyLZ77Store [function] [call site] 00283
5 ZopfliCleanLZ77Store [function] [call site] 00286
5 ZopfliInitLZ77Store [function] [call site] 00287
5 exit [call site] 00288
5 exit [call site] 00289
5 exit [call site] 00290
5 exit [call site] 00291
4 CopyStats [function] [call site] 00292
4 CopyStats [function] [call site] 00293
4 ClearStatFreqs [function] [call site] 00294
4 GetStatistics [function] [call site] 00295
4 AddWeighedStatFreqs [function] [call site] 00296
4 CalculateStatistics [function] [call site] 00297
4 CopyStats [function] [call site] 00298
4 RandomizeStatFreqs [function] [call site] 00299
5 RandomizeFreqs [function] [call site] 00302
4 CalculateStatistics [function] [call site] 00303
4 ZopfliCleanLZ77Store [function] [call site] 00304
4 ZopfliCleanHash [function] [call site] 00305
3 ZopfliCalculateBlockSizeAutoType [function] [call site] 00306
3 ZopfliAppendLZ77Store [function] [call site] 00307
4 ZopfliStoreLitLenDist [function] [call site] 00308
3 ZopfliCleanBlockState [function] [call site] 00309
3 ZopfliCleanLZ77Store [function] [call site] 00310
3 ZopfliBlockSplitLZ77 [function] [call site] 00311
3 ZopfliCalculateBlockSizeAutoType [function] [call site] 00312
3 AddLZ77BlockAutoType [function] [call site] 00313
4 ZopfliCalculateBlockSize [function] [call site] 00314
4 ZopfliCalculateBlockSize [function] [call site] 00315
4 ZopfliCalculateBlockSize [function] [call site] 00316
4 ZopfliInitLZ77Store [function] [call site] 00320
4 ZopfliLZ77GetByteRange [function] [call site] 00321
4 ZopfliInitBlockState [function] [call site] 00322
4 ZopfliLZ77OptimalFixed [function] [call site] 00323
4 ZopfliCalculateBlockSize [function] [call site] 00324
4 ZopfliCleanBlockState [function] [call site] 00325
4 AddLZ77Block [function] [call site] 00326
4 AddLZ77Block [function] [call site] 00327
4 AddLZ77Block [function] [call site] 00328
4 AddLZ77Block [function] [call site] 00329
4 ZopfliCleanLZ77Store [function] [call site] 00330
3 ZopfliCleanLZ77Store [function] [call site] 00331
2 fprintf [call site] 00332