Fuzz introspector: bzip2_fd
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
960 960 1 :

['BZ2_bzWriteClose']

962 962 BZ2_bzclose call site: 00201 /src/bzip2/bzlib.c:1521
6 407 4 :

['myfeof', 'BZ2_bzDecompress', 'fread', 'ferror']

6 407 BZ2_bzRead call site: 00199 /src/bzip2/bzlib.c:1204
4 4 2 :

['fopen', 'strcmp']

6 101 bzopen_or_bzdopen call site: 00156 /src/bzip2/bzlib.c:1420
2 2 1 :

['ungetc']

2 2 myfeof call site: 00170 /src/bzip2/bzlib.c:909
2 2 1 :

['fclose']

2 2 bzopen_or_bzdopen call site: 00161 /src/bzip2/bzlib.c:1446
0 52 1 :

['BZ2_bzWriteOpen']

2 54 bzopen_or_bzdopen call site: 00159 /src/bzip2/bzlib.c:1436
0 11 1 :

['add_pair_to_block']

0 11 copy_input_until_stop call site: 00029 /src/bzip2/bzlib.c:316
0 0 None 94 371 BZ2_bzDecompress call site: 00174 /src/bzip2/bzlib.c:819
0 0 None 63 226 sendMTFValues call site: 00087 /src/bzip2/compress.c:261
0 0 None 54 217 sendMTFValues call site: 00089 /src/bzip2/compress.c:302
0 0 None 54 217 sendMTFValues call site: 00090 /src/bzip2/compress.c:436
0 0 None 27 109 mainSort call site: 00052 /src/bzip2/blocksort.c:893

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 strdup [call site] 00001
1 perror [call site] 00002
1 abort [call site] 00003
1 mkstemp [call site] 00004
1 perror [call site] 00005
1 abort [call site] 00006
1 fdopen [call site] 00007
1 perror [call site] 00008
1 close [call site] 00009
1 BZ2_bzerror [function] [call site] 00010
1 abort [call site] 00011
1 fuzzer_write_data [function] [call site] 00012
2 BZ2_bzWriteOpen [function] [call site] 00013
3 ferror [call site] 00014
3 BZ2_bzCompressInit [function] [call site] 00015
4 bz_config_ok [function] [call site] 00016
4 prepare_new_block [function] [call site] 00018
2 BZ2_bzwrite [function] [call site] 00019
3 BZ2_bzWrite [function] [call site] 00020
4 ferror [call site] 00021
4 BZ2_bzCompress [function] [call site] 00022
5 handle_compress [function] [call site] 00023
6 copy_output_until_stop [function] [call site] 00024
6 isempty_RL [function] [call site] 00025
6 prepare_new_block [function] [call site] 00026
6 isempty_RL [function] [call site] 00027
6 copy_input_until_stop [function] [call site] 00028
7 add_pair_to_block [function] [call site] 00029
7 add_pair_to_block [function] [call site] 00030
6 flush_RL [function] [call site] 00031
7 add_pair_to_block [function] [call site] 00032
6 BZ2_compressBlock [function] [call site] 00034
7 fprintf [call site] 00035
7 BZ2_blockSort [function] [call site] 00036
8 fallbackSort [function] [call site] 00037
9 fprintf [call site] 00038
9 fprintf [call site] 00039
9 fallbackQSort3 [function] [call site] 00040
10 BZ2_bz__AssertH__fail [function] [call site] 00041
11 BZ2_bzlibVersion [function] [call site] 00042
11 fprintf [call site] 00043
11 fprintf [call site] 00044
11 exit [call site] 00045
10 fallbackSimpleSort [function] [call site] 00046
9 fprintf [call site] 00047
9 fprintf [call site] 00048
9 BZ2_bz__AssertH__fail [function] [call site] 00049
8 mainSort [function] [call site] 00050
9 fprintf [call site] 00051
9 fprintf [call site] 00052
9 fprintf [call site] 00053
9 mainQSort3 [function] [call site] 00054
10 BZ2_bz__AssertH__fail [function] [call site] 00055
10 mainSimpleSort [function] [call site] 00056
9 BZ2_bz__AssertH__fail [function] [call site] 00061
9 BZ2_bz__AssertH__fail [function] [call site] 00062
9 BZ2_bz__AssertH__fail [function] [call site] 00063
9 fprintf [call site] 00064
8 fprintf [call site] 00065
8 fprintf [call site] 00066
8 fallbackSort [function] [call site] 00067
8 BZ2_bz__AssertH__fail [function] [call site] 00068
7 BZ2_bsInitWrite [function] [call site] 00069
7 bsPutUChar [function] [call site] 00072
7 bsPutUChar [function] [call site] 00073
7 bsPutUChar [function] [call site] 00074
7 bsPutUChar [function] [call site] 00075
7 bsPutUChar [function] [call site] 00076
7 bsPutUChar [function] [call site] 00077
7 generateMTFValues [function] [call site] 00085
8 makeMaps_e [function] [call site] 00086
7 sendMTFValues [function] [call site] 00087
8 fprintf [call site] 00088
8 BZ2_bz__AssertH__fail [function] [call site] 00089
8 fprintf [call site] 00090
8 fprintf [call site] 00091
8 fprintf [call site] 00092
8 fprintf [call site] 00093
8 BZ2_hbMakeCodeLengths [function] [call site] 00094
9 BZ2_bz__AssertH__fail [function] [call site] 00095
9 BZ2_bz__AssertH__fail [function] [call site] 00096
8 BZ2_bz__AssertH__fail [function] [call site] 00097
8 BZ2_bz__AssertH__fail [function] [call site] 00098
8 BZ2_bz__AssertH__fail [function] [call site] 00099
8 BZ2_bz__AssertH__fail [function] [call site] 00100
8 BZ2_hbAssignCodes [function] [call site] 00101
8 fprintf [call site] 00104
8 fprintf [call site] 00109
8 fprintf [call site] 00114
8 BZ2_bz__AssertH__fail [function] [call site] 00115
8 BZ2_bz__AssertH__fail [function] [call site] 00127
8 fprintf [call site] 00128
7 bsPutUChar [function] [call site] 00129
7 bsPutUChar [function] [call site] 00130
7 bsPutUChar [function] [call site] 00131
7 bsPutUInt32 [function] [call site] 00132
7 fprintf [call site] 00133
7 bsFinishWrite [function] [call site] 00134
6 BZ2_compressBlock [function] [call site] 00135
5 handle_compress [function] [call site] 00136
5 isempty_RL [function] [call site] 00137
5 handle_compress [function] [call site] 00138
5 isempty_RL [function] [call site] 00139
4 fwrite [call site] 00140
4 ferror [call site] 00141
2 BZ2_bzWriteClose64 [function] [call site] 00142
3 ferror [call site] 00143
3 BZ2_bzCompress [function] [call site] 00144
3 fwrite [call site] 00145
3 ferror [call site] 00146
3 ferror [call site] 00147
3 fflush [call site] 00148
3 ferror [call site] 00149
3 BZ2_bzCompressEnd [function] [call site] 00150
1 fuzzer_read_data [function] [call site] 00151
2 BZ2_bzdopen [function] [call site] 00152
3 bzopen_or_bzdopen [function] [call site] 00153
4 __ctype_b_loc [call site] 00154
4 strcat [call site] 00155
4 strcat [call site] 00156
4 strcmp [call site] 00157
4 fopen [call site] 00158
4 fdopen [call site] 00159
4 BZ2_bzWriteOpen [function] [call site] 00160
4 BZ2_bzReadOpen [function] [call site] 00161
5 ferror [call site] 00162
5 BZ2_bzDecompressInit [function] [call site] 00163
6 bz_config_ok [function] [call site] 00164
4 fclose [call site] 00165
2 BZ2_bzread [function] [call site] 00166
3 BZ2_bzRead [function] [call site] 00167
4 ferror [call site] 00168
4 myfeof [function] [call site] 00169
5 fgetc [call site] 00170
5 ungetc [call site] 00171
4 fread [call site] 00172
4 ferror [call site] 00173
4 BZ2_bzDecompress [function] [call site] 00174
5 unRLE_obuf_to_output_SMALL [function] [call site] 00175
6 BZ2_indexIntoF [function] [call site] 00176
6 BZ2_indexIntoF [function] [call site] 00177
6 BZ2_indexIntoF [function] [call site] 00178
6 BZ2_indexIntoF [function] [call site] 00179
6 BZ2_indexIntoF [function] [call site] 00180
6 BZ2_indexIntoF [function] [call site] 00181
6 BZ2_indexIntoF [function] [call site] 00182
6 BZ2_indexIntoF [function] [call site] 00183
6 BZ2_indexIntoF [function] [call site] 00184
6 BZ2_indexIntoF [function] [call site] 00185
5 unRLE_obuf_to_output_FAST [function] [call site] 00186
5 fprintf [call site] 00187
5 fprintf [call site] 00188
5 BZ2_decompress [function] [call site] 00189
6 fprintf [call site] 00190
6 makeMaps_d [function] [call site] 00191
6 BZ2_hbCreateDecodeTables [function] [call site] 00192
6 fprintf [call site] 00193
6 BZ2_indexIntoF [function] [call site] 00194
6 BZ2_indexIntoF [function] [call site] 00195
6 BZ2_bz__AssertH__fail [function] [call site] 00196
6 BZ2_bz__AssertH__fail [function] [call site] 00197
5 fprintf [call site] 00198
2 BZ2_bzReadGetUnused [function] [call site] 00200
2 BZ2_bzclose [function] [call site] 00201
3 BZ2_bzWriteClose [function] [call site] 00202
4 BZ2_bzWriteClose64 [function] [call site] 00203
3 BZ2_bzWriteClose [function] [call site] 00204
3 BZ2_bzReadClose [function] [call site] 00205
4 BZ2_bzDecompressEnd [function] [call site] 00206
3 fclose [call site] 00207
1 BZ2_bzlibVersion [function] [call site] 00208
1 BZ2_bzflush [function] [call site] 00209
1 fclose [call site] 00210
1 unlink [call site] 00211
1 perror [call site] 00212