Fuzz introspector: zopfli_compress_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: 00259 /src/zopfli/src/zopfli/blocksplitter.c:268
10 31 3 :

['realloc', 'AddBit', 'malloc']

10 31 AddNonCompressedBlock call site: 00026 /src/zopfli/src/zopfli/deflate.c:660
2 2 1 :

['exit']

2 2 ZopfliInitCache call site: 00029 /src/zopfli/src/zopfli/cache.c:34
0 23 1 :

['AddNonCompressedBlock']

0 23 ZopfliDeflatePart call site: 00016 /src/zopfli/src/zopfli/deflate.c:826
0 0 None 0 497 ZopfliLZ77Optimal call site: 00292 /src/zopfli/src/zopfli/squeeze.c:493
0 0 None 0 269 AddLZ77BlockAutoType call site: 00337 /src/zopfli/src/zopfli/deflate.c:787
0 0 None 0 105 GetBestLengths call site: 00047 /src/zopfli/src/zopfli/squeeze.c:277
0 0 None 0 0 ZopfliLengthLimitedCodeLengths call site: 00129 /src/zopfli/src/zopfli/katajainen.c:202
0 0 None 0 0 ZopfliLengthLimitedCodeLengths call site: 00129 /src/zopfli/src/zopfli/katajainen.c:225
0 0 None 0 0 ZopfliVerifyLenDist call site: 00094 /src/zopfli/src/zopfli/lz77.c:281
0 0 None 0 0 ZopfliCompress call site: 00353 /src/zopfli/src/zopfli/zopfli_lib.c:35

Fuzzer calltree

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