Fuzz introspector: zlib_uncompress_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
252 474 6 :

['crc32', 'fixedtables', 'updatewindow', 'inflate_fast', 'adler32', 'inflate_table']

252 474 inflate call site: 00037 /src/zlib/inflate.c:817
0 0 None 252 474 inflate call site: 00012 /src/zlib/inflate.c:623
0 0 None 252 474 inflate call site: 00012 /src/zlib/inflate.c:629
0 0 None 252 474 inflate call site: 00027 /src/zlib/inflate.c:638
0 0 None 252 474 inflate call site: 00027 /src/zlib/inflate.c:656
0 0 None 252 474 inflate call site: 00043 /src/zlib/inflate.c:1137
0 0 None 21 46 inflate call site: 00039 /src/zlib/inflate.c:847
0 0 None 0 369 uncompress2 call site: 00002 /src/zlib/uncompr.c:36
0 0 None 0 15 inflateReset2 call site: 00006 /src/zlib/inflate.c:150
0 0 None 0 15 inflateReset2 call site: 00006 /src/zlib/inflate.c:167
0 0 None 0 12 uncompress2 call site: 00011 /src/zlib/uncompr.c:70
0 0 None 0 0 adler32_z call site: 00029 /src/zlib/adler32.c:72

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 uncompress [function] [call site] 00001
2 uncompress2 [function] [call site] 00002
3 inflateInit_ [function] [call site] 00003
4 inflateInit2_ [function] [call site] 00004
5 inflateReset2 [function] [call site] 00005
6 inflateStateCheck [function] [call site] 00006
6 inflateReset [function] [call site] 00007
7 inflateStateCheck [function] [call site] 00008
7 inflateResetKeep [function] [call site] 00009
8 inflateStateCheck [function] [call site] 00010
3 inflate [function] [call site] 00011
3 inflateEnd [function] [call site] 00049
4 inflateStateCheck [function] [call site] 00050