Fuzz introspector: fuzz-pack-idx
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
2 2 1 :

['abort']

2 2 vreportf call site: 00019 /src/git/usage.c:15
0 0 None 2 17 write_in_full call site: 00025 /src/git/wrapper.c:310
0 0 None 0 2 load_idx call site: 00002 /src/git/packfile.c:119

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 load_idx [function] [call site] 00001
2 git_bswap32 [function] [call site] 00004
2 git_bswap32 [function] [call site] 00005
2 git_bswap32 [function] [call site] 00007
2 st_mult [function] [call site] 00009
3 die [function] [call site] 00010
4 fwrite [call site] 00011
4 common_exit [function] [call site] 00012
5 check_bug_if_BUG [function] [call site] 00013
6 BUG_fl [function] [call site] 00014
7 BUG_vfl [function] [call site] 00015
8 BUG_vfl_common [function] [call site] 00016
9 snprintf [call site] 00017
9 vreportf [function] [call site] 00018
10 strlen [call site] 00019
10 fprintf [call site] 00020
10 abort [call site] 00021
10 vsnprintf [call site] 00022
10 fflush [call site] 00023
10 write_in_full [function] [call site] 00024
11 xwrite [function] [call site] 00025
12 write [call site] 00026
12 __errno_location [call site] 00027
12 handle_nonblock [function] [call site] 00028
13 poll [call site] 00029
11 __errno_location [call site] 00030
8 abort [call site] 00031
8 trace2_cmd_error_va_fl [function] [call site] 00032
9 tr2_dst_trace_want [function] [call site] 00033
10 tr2_dst_get_trace_fd [function] [call site] 00034
11 tr2_sysenv_get [function] [call site] 00035
12 getenv [call site] 00037
12 xstrdup [function] [call site] 00038
13 strdup [call site] 00039
11 strcmp [call site] 00042
11 strcasecmp [call site] 00043
11 strcmp [call site] 00044
11 strlen [call site] 00045
11 atoi [function] [call site] 00046
12 strtol [call site] 00047
11 is_absolute_path [function] [call site] 00048
12 git_is_dir_sep [function] [call site] 00049
11 is_directory [function] [call site] 00050
12 stat64 [function] [call site] 00051
13 __xstat64 [call site] 00052
11 tr2_dst_try_auto_path [function] [call site] 00053
12 tr2_sid_get [function] [call site] 00054
13 tr2_sid_compute [function] [call site] 00055
14 getenv [call site] 00056
14 strbuf_addstr [function] [call site] 00057
15 strlen [call site] 00058
15 strbuf_add [function] [call site] 00059
16 strbuf_grow [function] [call site] 00060
17 xrealloc [function] [call site] 00063
18 xmalloc [function] [call site] 00064
19 do_xmalloc [function] [call site] 00065
20 memory_limit_check [function] [call site] 00066
21 git_env_ulong [function] [call site] 00067
22 getenv [call site] 00068
22 git_parse_ulong [function] [call site] 00069
23 git_parse_unsigned [function] [call site] 00070
24 strchr [call site] 00071
24 __errno_location [call site] 00072
24 __errno_location [call site] 00073
24 strtoumax [function] [call site] 00074
25 __strtoul_internal [call site] 00075
24 get_unit_factor [function] [call site] 00076
25 strcasecmp [call site] 00077
25 strcasecmp [call site] 00078
25 strcasecmp [call site] 00079
24 __errno_location [call site] 00080
22 _ [function] [call site] 00081
23 dcgettext [call site] 00082
18 memory_limit_check [function] [call site] 00088
18 realloc [call site] 00089
16 strbuf_setlen [function] [call site] 00091
17 __assert_fail [call site] 00093
14 strbuf_addch [function] [call site] 00094
15 strbuf_avail [function] [call site] 00095
15 strbuf_grow [function] [call site] 00096
14 tr2_sid_append_my_sid_component [function] [call site] 00097
15 getpid [call site] 00098
15 tr2_tbuf_utc_datetime [function] [call site] 00099
16 gettimeofday [call site] 00100
16 gmtime_r [call site] 00101
16 xsnprintf [function] [call site] 00102
17 vsnprintf [call site] 00103
15 strbuf_addstr [function] [call site] 00106
15 strbuf_addch [function] [call site] 00107
15 xgethostname [function] [call site] 00108
16 gethostname [call site] 00109
15 strbuf_add [function] [call site] 00110
15 strlen [call site] 00111
15 hash_to_hex_algop_r [function] [call site] 00112
15 strbuf_addch [function] [call site] 00113
15 strbuf_add [function] [call site] 00114
15 strbuf_addf [function] [call site] 00115
16 strbuf_vaddf [function] [call site] 00116
17 strbuf_avail [function] [call site] 00117
17 strbuf_grow [function] [call site] 00118
17 vsnprintf [call site] 00119
17 strbuf_avail [function] [call site] 00121
17 strbuf_grow [function] [call site] 00122
17 vsnprintf [call site] 00123
17 strbuf_avail [function] [call site] 00124
17 strbuf_setlen [function] [call site] 00126
14 setenv [call site] 00127
12 strrchr [call site] 00128
12 strbuf_addstr [function] [call site] 00129
12 git_is_dir_sep [function] [call site] 00130
12 strbuf_addch [function] [call site] 00131
12 strbuf_addstr [function] [call site] 00132
12 tr2_dst_too_many_files [function] [call site] 00133
13 tr2_sysenv_get [function] [call site] 00134
13 strbuf_addstr [function] [call site] 00136
13 git_is_dir_sep [function] [call site] 00137
13 strbuf_addbuf [function] [call site] 00138
14 strbuf_setlen [function] [call site] 00139
13 strbuf_addstr [function] [call site] 00140
13 opendir [call site] 00142
13 readdir64 [call site] 00143
13 closedir [call site] 00144
13 open64 [call site] 00145
13 strbuf_release [function] [call site] 00146
14 strbuf_init [function] [call site] 00147
15 strbuf_grow [function] [call site] 00148
13 strbuf_release [function] [call site] 00149
12 strbuf_setlen [function] [call site] 00150
12 strbuf_addf [function] [call site] 00151
12 open64 [call site] 00152
12 strbuf_release [function] [call site] 00153
12 tr2_dst_want_warning [function] [call site] 00154
13 tr2_sysenv_get [function] [call site] 00155
12 tr2_sysenv_display_name [function] [call site] 00157
12 tr2_dst_want_warning [function] [call site] 00160
12 tr2_sysenv_display_name [function] [call site] 00161
12 __errno_location [call site] 00162
12 tr2_dst_trace_disable [function] [call site] 00164
13 close [call site] 00165
12 strbuf_release [function] [call site] 00166
12 strbuf_release [function] [call site] 00167
11 tr2_dst_try_path [function] [call site] 00168
12 tr2_dst_want_warning [function] [call site] 00169
12 tr2_sysenv_display_name [function] [call site] 00170
12 __errno_location [call site] 00171
12 tr2_dst_trace_disable [function] [call site] 00173
11 starts_with [function] [call site] 00174
11 tr2_dst_try_unix_domain_socket [function] [call site] 00175
12 skip_prefix [function] [call site] 00176
12 skip_prefix [function] [call site] 00177
12 skip_prefix [function] [call site] 00178
12 tr2_dst_want_warning [function] [call site] 00179
12 tr2_sysenv_display_name [function] [call site] 00180
12 tr2_dst_trace_disable [function] [call site] 00182
12 is_absolute_path [function] [call site] 00183
12 strlen [call site] 00184
12 tr2_dst_want_warning [function] [call site] 00185
12 tr2_sysenv_display_name [function] [call site] 00186
12 tr2_dst_trace_disable [function] [call site] 00188
12 tr2_dst_try_uds_connect [function] [call site] 00189
13 socket [call site] 00190
13 gitstrlcpy [function] [call site] 00191
14 strlen [call site] 00192
13 connect [call site] 00193
13 __errno_location [call site] 00194
12 __errno_location [call site] 00195
12 tr2_dst_try_uds_connect [function] [call site] 00196
12 tr2_dst_want_warning [function] [call site] 00197
12 tr2_sysenv_display_name [function] [call site] 00198
12 __errno_location [call site] 00199
12 tr2_dst_trace_disable [function] [call site] 00201
11 tr2_dst_malformed_warning [function] [call site] 00202
12 tr2_sysenv_display_name [function] [call site] 00203
11 tr2_dst_trace_disable [function] [call site] 00205
8 common_exit [function] [call site] 00206
9 trace2_cmd_exit_fl [function] [call site] 00207
10 trace_git_fsync_stats [function] [call site] 00208
11 log_trace_fsync_if [function] [call site] 00209
12 trace2_data_intmax_fl [function] [call site] 00210
13 strbuf_addf [function] [call site] 00211
13 trace2_data_string_fl [function] [call site] 00212
14 getnanotime [function] [call site] 00213
15 highres_nanos [function] [call site] 00214
16 clock_gettime [call site] 00215
15 gettimeofday_nanos [function] [call site] 00216
16 gettimeofday [call site] 00217
15 gettimeofday_nanos [function] [call site] 00218
15 highres_nanos [function] [call site] 00219
14 tr2tls_absolute_elapsed [function] [call site] 00220
14 tr2tls_region_elasped_self [function] [call site] 00221
15 tr2tls_get_self [function] [call site] 00222
16 pthread_getspecific [call site] 00223
16 getnanotime [function] [call site] 00224
16 tr2tls_create_self [function] [call site] 00225
17 xcalloc [function] [call site] 00226
18 memory_limit_check [function] [call site] 00228
18 calloc [call site] 00229
18 calloc [call site] 00230
17 tr2tls_locked_increment [function] [call site] 00233
18 pthread_mutex_unlock [call site] 00234
17 strbuf_addf [function] [call site] 00235
17 strbuf_addstr [function] [call site] 00236
17 strbuf_setlen [function] [call site] 00237
17 strbuf_detach [function] [call site] 00238
18 strbuf_grow [function] [call site] 00239
18 strbuf_init [function] [call site] 00240
17 pthread_setspecific [call site] 00241
14 tr2_dst_trace_want [function] [call site] 00242
13 strbuf_release [function] [call site] 00243
11 log_trace_fsync_if [function] [call site] 00244
10 trace2_collect_process_info [function] [call site] 00245
11 trace2_is_enabled [function] [call site] 00246
11 getppid [call site] 00247
11 push_ancestry_name [function] [call site] 00248
12 stat_parent_pid [function] [call site] 00249
13 strbuf_addf [function] [call site] 00250
13 git_fopen [function] [call site] 00251
14 fopen64 [call site] 00252
14 fopen64 [call site] 00253
14 fileno [call site] 00254
14 fstat64 [function] [call site] 00255
15 __fxstat64 [call site] 00256
14 fclose [call site] 00257
14 fclose [call site] 00258
14 __errno_location [call site] 00259
13 strbuf_fread [function] [call site] 00260
14 strbuf_grow [function] [call site] 00261
14 fread [call site] 00262
14 strbuf_setlen [function] [call site] 00263
14 strbuf_release [function] [call site] 00264
13 parse_proc_stat [function] [call site] 00265
14 strrchr [call site] 00266
14 strchr [call site] 00267
14 strtol [call site] 00268
13 fclose [call site] 00269
13 strbuf_release [function] [call site] 00270
13 strbuf_release [function] [call site] 00271
12 strvec_push [function] [call site] 00272
13 strvec_push_nodup [function] [call site] 00274
12 push_ancestry_name [function] [call site] 00277
11 trace2_cmd_ancestry_fl [function] [call site] 00278
12 tr2_dst_trace_want [function] [call site] 00279
11 strvec_clear [function] [call site] 00280
12 strvec_init [function] [call site] 00281
10 getnanotime [function] [call site] 00282
10 tr2tls_absolute_elapsed [function] [call site] 00283
10 tr2_dst_trace_want [function] [call site] 00284
8 exit [call site] 00285
8 abort [call site] 00286