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 :

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

252 474 inflate call site: 00039 /src/zlib/inflate.c:817
0 0 None 252 474 inflate call site: 00014 /src/zlib/inflate.c:623
0 0 None 252 474 inflate call site: 00014 /src/zlib/inflate.c:629
0 0 None 252 474 inflate call site: 00029 /src/zlib/inflate.c:638
0 0 None 252 474 inflate call site: 00029 /src/zlib/inflate.c:656
0 0 None 252 474 inflate call site: 00045 /src/zlib/inflate.c:1137
0 0 None 21 46 inflate call site: 00041 /src/zlib/inflate.c:847
0 0 None 0 373 uncompress2 call site: 00002 /src/zlib/uncompr.c:36
0 0 None 0 15 inflateReset2 call site: 00008 /src/zlib/inflate.c:150
0 0 None 0 15 inflateReset2 call site: 00008 /src/zlib/inflate.c:167
0 0 None 0 12 uncompress2 call site: 00013 /src/zlib/uncompr.c:70
0 0 None 0 0 adler32_z call site: 00031 /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] 00007
6 inflateStateCheck [function] [call site] 00008
6 inflateReset [function] [call site] 00009
7 inflateStateCheck [function] [call site] 00010
7 inflateResetKeep [function] [call site] 00011
8 inflateStateCheck [function] [call site] 00012
3 inflate [function] [call site] 00013
3 inflateEnd [function] [call site] 00051
4 inflateStateCheck [function] [call site] 00052