Fuzz introspector: wget_netrc_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
774 774 5 :

['load_system_priority_file', 'update_system_wide_priority_string', 'gnutls_strerror', 'construct_system_wide_priority_string', '_gnutls_buffer_clear']

874 874 _gnutls_update_system_priorities call site: 00000 /src/gnutls/lib/priority.c:2286
724 2053 19 :

['capabilities_to_zhaoxin_edx', 'check_avx_movbe', 'check_phe_partial', 'capabilities_to_intel_cpuid', 'check_padlock', 'check_sha', 'check_phe', '_gnutls_priority_update_non_aesni', 'gnutls_crypto_single_cipher_register', 'read_cpuid_vals', 'gnutls_crypto_single_mac_register', 'gnutls_crypto_single_digest_register', 'check_pclmul', 'check_fast_pclmul', '_gnutls_log', 'check_optimized_aes', 'check_ssse3', 'padlock_capability', 'check_phe_sha512']

724 2053 register_x86_padlock_crypto call site: 00000 /src/gnutls/lib/accelerated/x86/x86-common.c:383
375 379 3 :

['stat', 'rpl_free', 'parse_netrc']

379 383 search_netrc call site: 00007 /src/wget/src/netrc.c:112
51 621 10 :

['mbsinit', 'mbszero', 'rpl_mbrtoc32', 'quotearg_buffer_restyled', 'abort', '__ctype_b_loc', 'gettext_quote', 'c32isprint', 'memcmp', 'strlen']

51 621 quotearg_buffer_restyled call site: 00079 /src/wget/lib/quotearg.c:725
47 47 1 :

['capabilities_to_intel_cpuid']

439 1303 register_x86_intel_crypto call site: 00000 /src/gnutls/lib/accelerated/x86/x86-common.c:817
27 27 1 :

['xpalloc']

43 509 quotearg_n_options call site: 00042 /src/wget/lib/quotearg.c:875
18 18 1 :

['_gnutls_asn2err']

40 40 _gnutls_global_init call site: 00000 /src/gnutls/lib/global.c:306
16 16 1 :

['_asn1_delete_list_and_nodes']

16 16 asn1_array2tree call site: 00000 /src/gnutls/lib/minitasn1/structure.c:275
12 12 2 :

['_gnutls_log', 'atoi']

22 1565 lib_init call site: 00000 /src/gnutls/lib/global.c:520
10 10 1 :

['_gnutls_log']

10 10 register_x86_intel_crypto call site: 00000 /src/gnutls/lib/accelerated/x86/x86-common.c:1027
10 10 1 :

['_gnutls_log']

10 10 _algo_register call site: 00000 /src/gnutls/lib/crypto-backend.c:67
10 10 1 :

['_gnutls_log']

10 10 _algo_register call site: 00000 /src/gnutls/lib/crypto-backend.c:87

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 fmemopen [call site] 00001
1 dup [call site] 00002
1 open [call site] 00003
1 dup2 [call site] 00004
1 close [call site] 00005
1 _setjmp [call site] 00006
1 search_netrc [function] [call site] 00007
2 parse_netrc_fp [function] [call site] 00008
3 getline [call site] 00009
3 c_isspace [function] [call site] 00010
3 c_isspace [function] [call site] 00011
3 shift_left [function] [call site] 00012
3 c_isspace [function] [call site] 00013
3 shift_left [function] [call site] 00014
3 shift_left [function] [call site] 00015
3 rpl_free [function] [call site] 00016
4 __errno_location [call site] 00017
4 __errno_location [call site] 00018
3 xstrdup [function] [call site] 00019
4 strlen [call site] 00020
4 xmemdup [function] [call site] 00021
5 xmalloc [function] [call site] 00022
6 check_nonnull [function] [call site] 00023
7 xalloc_die [function] [call site] 00024
8 dgettext [call site] 00025
8 error [call site] 00026
8 abort [call site] 00027
3 maybe_add_to_list [function] [call site] 00028
3 gettext [call site] 00036
3 quote [function] [call site] 00037
4 quote_n [function] [call site] 00038
5 quote_n_mem [function] [call site] 00039
6 quotearg_n_options [function] [call site] 00040
7 __errno_location [call site] 00041
7 abort [call site] 00042
7 xpalloc [function] [call site] 00043
8 xalloc_die [function] [call site] 00044
8 xrealloc [function] [call site] 00045
9 rpl_realloc [function] [call site] 00046
10 realloc [call site] 00047
9 xalloc_die [function] [call site] 00048
7 quotearg_buffer_restyled [function] [call site] 00049
8 __ctype_get_mb_cur_max [call site] 00050
8 gettext_quote [function] [call site] 00051
9 dgettext [call site] 00052
9 locale_charset [function] [call site] 00053
10 rpl_nl_langinfo [function] [call site] 00054
11 nl_langinfo [call site] 00055
9 c_strcasecmp [function] [call site] 00056
10 c_tolower [function] [call site] 00057
10 c_tolower [function] [call site] 00058
9 c_strcasecmp [function] [call site] 00059
8 gettext_quote [function] [call site] 00060
8 strlen [call site] 00061
8 abort [call site] 00062
8 strlen [call site] 00063
8 memcmp [call site] 00064
8 __ctype_b_loc [call site] 00065
8 strlen [call site] 00067
8 rpl_mbrtoc32 [function] [call site] 00068
9 mbrtoc32 [call site] 00069
9 hard_locale [function] [call site] 00070
10 setlocale_null_r [function] [call site] 00071
11 setlocale_null_r_unlocked [function] [call site] 00072
12 setlocale_null_unlocked [function] [call site] 00073
13 setlocale [call site] 00074
12 strlen [call site] 00075
10 strcmp [call site] 00076
8 c32isprint [function] [call site] 00077
9 iswprint [call site] 00078
8 mbsinit [call site] 00079
8 quotearg_buffer_restyled [function] [call site] 00080
9 quotearg_buffer_restyled [function] [call site] 00081
7 quotearg_buffer_restyled [function] [call site] 00085
7 __errno_location [call site] 00086
3 fprintf [call site] 00087
3 strcmp [call site] 00088
3 strcmp [call site] 00089
3 maybe_add_to_list [function] [call site] 00090
3 strcmp [call site] 00091
3 strcmp [call site] 00092
3 strcmp [call site] 00093
3 strcmp [call site] 00094
3 strcmp [call site] 00095
3 strcmp [call site] 00096
3 gettext [call site] 00097
3 fprintf [call site] 00098
3 maybe_add_to_list [function] [call site] 00100
2 aprintf [function] [call site] 00102
3 vasprintf [call site] 00103
3 __errno_location [call site] 00104
3 memfatal [function] [call site] 00105
4 log_set_save_context [function] [call site] 00106
4 gettext [call site] 00107
4 logprintf [function] [call site] 00108
5 __errno_location [call site] 00109
5 check_redirect_output [function] [call site] 00110
6 tcgetpgrp [call site] 00111
6 getpgrp [call site] 00112
6 redirect_output [function] [call site] 00113
7 fprintf [call site] 00114
7 unique_create [function] [call site] 00115
8 unique_name [function] [call site] 00116
9 file_exists_p [function] [call site] 00117
10 __errno_location [call site] 00118
10 stat [call site] 00119
10 getuid [call site] 00120
10 group_member [call site] 00121
10 __errno_location [call site] 00122
10 __errno_location [call site] 00123
9 unique_name_1 [function] [call site] 00124
10 strlen [call site] 00125
10 number_to_string [function] [call site] 00127
10 file_exists_p [function] [call site] 00128
8 fopen_excl [function] [call site] 00130
9 open [call site] 00131
9 fdopen [call site] 00132
8 __errno_location [call site] 00133
8 unique_name [function] [call site] 00135
7 gettext [call site] 00138
7 fprintf [call site] 00140
7 log_dump_context [function] [call site] 00141
8 get_log_fp [function] [call site] 00142
8 get_warc_log_fp [function] [call site] 00143
8 fputs [call site] 00144
8 fputs [call site] 00145
8 fputs [call site] 00146
8 fputs [call site] 00147
8 rpl_fflush [function] [call site] 00148
9 __freading [call site] 00149
9 fflush [call site] 00150
9 clear_ungetc_buffer_preserving_position [function] [call site] 00151
10 rpl_fseeko [function] [call site] 00152
11 fileno [call site] 00153
11 lseek [call site] 00154
11 fseeko [call site] 00155
9 fflush [call site] 00156
8 rpl_fflush [function] [call site] 00157
7 gettext [call site] 00158
7 __errno_location [call site] 00159
7 strerror [call site] 00160
7 fprintf [call site] 00161
7 gettext [call site] 00162
7 fprintf [call site] 00164
7 log_dump_context [function] [call site] 00165
7 log_dump_context [function] [call site] 00166
6 redirect_output [function] [call site] 00167
5 __errno_location [call site] 00168
5 log_vprintf_internal [function] [call site] 00169
6 get_log_fp [function] [call site] 00170
6 get_warc_log_fp [function] [call site] 00171
6 vfprintf [call site] 00172
6 vsnprintf [call site] 00173
6 saved_append [function] [call site] 00176
7 strchr [call site] 00177
7 strlen [call site] 00178
7 saved_append_1 [function] [call site] 00179
8 free_log_line [function] [call site] 00180
8 strlen [call site] 00185
8 strlen [call site] 00187
6 fputs [call site] 00189
6 fputs [call site] 00190
6 logflush [function] [call site] 00192
7 get_log_fp [function] [call site] 00193
7 get_warc_log_fp [function] [call site] 00194
7 rpl_fflush [function] [call site] 00195
7 rpl_fflush [function] [call site] 00196
5 __errno_location [call site] 00197
5 exit_wget [function] [call site] 00198
6 longjmp [call site] 00199
4 gettext [call site] 00200
4 logprintf [function] [call site] 00201
4 exit_wget [function] [call site] 00202
2 stat [call site] 00203
2 parse_netrc [function] [call site] 00204
3 fopen_wget [function] [call site] 00205
4 rpl_fopen [function] [call site] 00206
5 strlen [call site] 00207
5 open [call site] 00208
5 fdopen [call site] 00209
5 __errno_location [call site] 00210
5 close [call site] 00211
5 __errno_location [call site] 00212
5 orig_fopen [function] [call site] 00213
6 fopen [call site] 00214
3 gettext [call site] 00215
3 __errno_location [call site] 00216
3 strerror [call site] 00217
3 fprintf [call site] 00218
3 parse_netrc_fp [function] [call site] 00219
3 fclose [call site] 00220
2 strcasecmp [call site] 00222
2 strcmp [call site] 00223
1 search_netrc [function] [call site] 00230
1 netrc_cleanup [function] [call site] 00231
1 fclose [call site] 00232
1 dup2 [call site] 00233
1 close [call site] 00234