Fuzz introspector: wget_url_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
1174 1174 1 :

['idn_encode']

1174 1362 url_parse call site: 00238 /src/wget/src/url.c:950
725 2055 19 :

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

725 2055 register_x86_padlock_crypto call site: 00000 /src/gnutls/lib/accelerated/x86/x86-common.c:388
524 524 1 :

['quote_n']

526 526 do_conversion call site: 00018 /src/wget/src/iri.c:138
472 472 12 :

['fseek', 'pthread_rwlock_wrlock', 'cfg_apply', 'ini_parse_file', 'gnutls_strerror', 'ini_ctx_deinit', 'construct_system_wide_priority_string', 'fclose', '_name_val_array_clear', 'fopen', '_gnutls_buffer_clear', 'update_system_wide_priority_string']

604 604 _gnutls_update_system_priorities call site: 00000 /src/gnutls/lib/priority.c:2314
48 48 1 :

['capabilities_to_intel_cpuid']

440 1304 register_x86_intel_crypto call site: 00000 /src/gnutls/lib/accelerated/x86/x86-common.c:911
30 30 4 :

['iconv', '__errno_location', 'xrealloc', 'gettext']

42 50 do_conversion call site: 00161 /src/wget/src/iri.c:157
18 18 1 :

['_gnutls_asn2err']

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

['_asn1_delete_list_and_nodes']

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

['atoi', '_gnutls_log']

22 1558 lib_init call site: 00000 /src/gnutls/lib/global.c:503
10 10 1 :

['_gnutls_log']

10 10 register_x86_intel_crypto call site: 00000 /src/gnutls/lib/accelerated/x86/x86-common.c:1170
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 dup [call site] 00001
1 url_parse [function] [call site] 00002
2 url_scheme [function] [call site] 00003
3 strlen [call site] 00004
3 c_strncasecmp [function] [call site] 00005
2 url_has_scheme [function] [call site] 00008
2 c_strncasecmp [function] [call site] 00011
2 c_strncasecmp [function] [call site] 00012
2 remote_to_utf8 [function] [call site] 00013
3 c_strcasecmp [function] [call site] 00014
3 strdup [call site] 00015
3 strlen [call site] 00016
3 do_conversion [function] [call site] 00017
4 iconv_open [call site] 00018
4 gettext [call site] 00019
4 quote_n [function] [call site] 00020
5 quote_n_mem [function] [call site] 00021
6 quotearg_n_options [function] [call site] 00022
7 __errno_location [call site] 00023
7 abort [call site] 00024
7 xpalloc [function] [call site] 00025
8 xalloc_die [function] [call site] 00026
9 dgettext [call site] 00027
9 abort [call site] 00028
8 xrealloc [function] [call site] 00029
9 realloc [call site] 00030
9 xalloc_die [function] [call site] 00031
7 quotearg_buffer_restyled [function] [call site] 00032
8 __ctype_get_mb_cur_max [call site] 00033
8 gettext_quote [function] [call site] 00034
9 dgettext [call site] 00035
9 locale_charset [function] [call site] 00036
10 nl_langinfo [call site] 00037
9 c_strcasecmp [function] [call site] 00038
9 c_strcasecmp [function] [call site] 00039
8 gettext_quote [function] [call site] 00040
8 strlen [call site] 00041
8 abort [call site] 00042
8 strlen [call site] 00043
8 memcmp [call site] 00044
8 __ctype_b_loc [call site] 00045
8 strlen [call site] 00046
8 rpl_mbrtowc [function] [call site] 00047
9 hard_locale [function] [call site] 00048
10 setlocale_null_r [function] [call site] 00049
11 setlocale_null_unlocked [function] [call site] 00050
12 setlocale_null_androidfix [function] [call site] 00051
13 setlocale [call site] 00052
12 strlen [call site] 00053
10 strcmp [call site] 00054
8 iswprint [call site] 00055
8 mbsinit [call site] 00056
8 quotearg_buffer_restyled [function] [call site] 00057
9 quotearg_buffer_restyled [function] [call site] 00058
7 rpl_free [function] [call site] 00059
8 __errno_location [call site] 00060
8 __errno_location [call site] 00061
7 quotearg_buffer_restyled [function] [call site] 00066
7 __errno_location [call site] 00067
4 logprintf [function] [call site] 00068
5 __errno_location [call site] 00069
5 check_redirect_output [function] [call site] 00070
6 tcgetpgrp [call site] 00071
6 getpgrp [call site] 00072
6 redirect_output [function] [call site] 00073
7 fprintf [call site] 00074
7 unique_create [function] [call site] 00075
8 unique_name [function] [call site] 00076
9 file_exists_p [function] [call site] 00077
10 __errno_location [call site] 00078
10 stat [call site] 00079
10 getuid [call site] 00080
10 group_member [call site] 00081
10 __errno_location [call site] 00082
10 __errno_location [call site] 00083
9 xstrdup [function] [call site] 00084
10 strlen [call site] 00085
8 fopen_excl [function] [call site] 00088
9 open [call site] 00089
9 fdopen [call site] 00090
8 __errno_location [call site] 00091
8 unique_name [function] [call site] 00093
7 gettext [call site] 00096
7 log_dump_context [function] [call site] 00099
8 get_log_fp [function] [call site] 00100
8 get_warc_log_fp [function] [call site] 00101
8 fputs [call site] 00102
8 fputs [call site] 00103
8 fputs [call site] 00104
8 fputs [call site] 00105
8 rpl_fflush [function] [call site] 00106
9 __freading [call site] 00107
9 fflush [call site] 00108
9 clear_ungetc_buffer_preserving_position [function] [call site] 00109
10 rpl_fseeko [function] [call site] 00110
11 fileno [call site] 00111
11 fseeko [call site] 00112
9 fflush [call site] 00113
8 rpl_fflush [function] [call site] 00114
7 gettext [call site] 00115
7 __errno_location [call site] 00116
7 gettext [call site] 00117
7 log_dump_context [function] [call site] 00119
7 log_dump_context [function] [call site] 00120
6 redirect_output [function] [call site] 00121
5 __errno_location [call site] 00122
5 log_vprintf_internal [function] [call site] 00123
6 get_log_fp [function] [call site] 00124
6 get_warc_log_fp [function] [call site] 00125
6 vfprintf [call site] 00126
6 vsnprintf [call site] 00127
6 saved_append [function] [call site] 00130
7 strchr [call site] 00131
7 strlen [call site] 00132
7 saved_append_1 [function] [call site] 00133
8 free_log_line [function] [call site] 00134
8 strlen [call site] 00139
8 strlen [call site] 00141
6 fputs [call site] 00143
6 fputs [call site] 00144
6 logflush [function] [call site] 00146
7 get_log_fp [function] [call site] 00147
7 get_warc_log_fp [function] [call site] 00148
7 rpl_fflush [function] [call site] 00149
7 rpl_fflush [function] [call site] 00150
5 __errno_location [call site] 00151
5 exit_wget [function] [call site] 00152
4 xstrndup [function] [call site] 00153
5 strndup [call site] 00154
5 xalloc_die [function] [call site] 00155
4 url_unescape_except_reserved [function] [call site] 00156
5 url_unescape_1 [function] [call site] 00157
4 iconv [call site] 00161
4 iconv [call site] 00162
4 strchr [call site] 00164
4 debug_logprintf [function] [call site] 00165
5 log_vprintf_internal [function] [call site] 00166
4 debug_logprintf [function] [call site] 00167
4 __errno_location [call site] 00168
4 gettext [call site] 00169
4 logprintf [function] [call site] 00170
4 __errno_location [call site] 00171
4 gettext [call site] 00173
4 logprintf [function] [call site] 00174
4 iconv_close [call site] 00176
4 strchr [call site] 00177
4 debug_logprintf [function] [call site] 00178
4 debug_logprintf [function] [call site] 00179
3 strcmp [call site] 00180
2 reencode_escapes [function] [call site] 00184
3 char_needs_escaping [function] [call site] 00185
4 c_isxdigit [function] [call site] 00186
3 char_needs_escaping [function] [call site] 00188
2 reencode_escapes [function] [call site] 00190
2 strlen [call site] 00191
2 url_skip_credentials [function] [call site] 00192
3 strpbrk [call site] 00193
2 init_seps [function] [call site] 00194
2 strchr [call site] 00195
2 is_valid_ipv6_address [function] [call site] 00196
3 c_isxdigit [function] [call site] 00197
3 is_valid_ipv4_address [function] [call site] 00199
2 strpbrk_or_eos [function] [call site] 00200
3 strpbrk [call site] 00201
3 strchr [call site] 00202
2 scheme_default_port [function] [call site] 00203
2 strpbrk_or_eos [function] [call site] 00204
2 c_isdigit [function] [call site] 00205
2 strpbrk_or_eos [function] [call site] 00206
2 strpbrk_or_eos [function] [call site] 00207
2 strpbrk_or_eos [function] [call site] 00208
2 strpbrk_or_eos [function] [call site] 00209
2 parse_credentials [function] [call site] 00210
3 memchr [call site] 00211
3 strdupdelim [function] [call site] 00212
3 url_unescape [function] [call site] 00213
4 url_unescape_1 [function] [call site] 00214
3 strdupdelim [function] [call site] 00215
3 url_unescape [function] [call site] 00216
2 xcalloc [function] [call site] 00217
3 calloc [call site] 00218
2 strdupdelim [function] [call site] 00220
2 strdupdelim [function] [call site] 00221
2 path_simplify [function] [call site] 00222
3 strchr [call site] 00223
2 split_path [function] [call site] 00224
3 strrchr [call site] 00225
3 strdupdelim [function] [call site] 00228
3 url_unescape [function] [call site] 00230
3 url_unescape [function] [call site] 00231
2 lowercase_str [function] [call site] 00232
2 strchr [call site] 00235
2 url_unescape [function] [call site] 00236
2 c_iscntrl [function] [call site] 00237
2 idn_encode [function] [call site] 00250
3 remote_to_utf8 [function] [call site] 00251
3 idn2_lookup_u8 [function] [call site] 00252
4 set_default_flags [function] [call site] 00253
4 _tr46 [function] [call site] 00254
5 u8_strlen [function] [call site] 00255
6 strlen [call site] 00256
5 u8_to_u32 [function] [call site] 00257
6 u8_mbtoucr [function] [call site] 00258
6 realloc [call site] 00259
6 __errno_location [call site] 00260
6 __errno_location [call site] 00261
6 realloc [call site] 00262
5 __errno_location [call site] 00263
5 get_idna_map [function] [call site] 00264
6 bsearch [call site] 00265
6 _compare_idna_map [function] [call site] 00266
7 _fill_map [function] [call site] 00267
6 bsearch [call site] 00268
6 _compare_idna_map [function] [call site] 00269
6 bsearch [call site] 00270
6 _compare_idna_map [function] [call site] 00271
6 _fill_map [function] [call site] 00272
5 get_idna_map [function] [call site] 00283
5 get_map_data [function] [call site] 00286
5 get_map_data [function] [call site] 00290
5 get_map_data [function] [call site] 00293
5 u32_normalize [function] [call site] 00295
6 u32_mbtouc_unsafe [function] [call site] 00296
6 abort [call site] 00297
6 abort [call site] 00298
6 uc_combining_class [function] [call site] 00299
6 gl_uninorm_decompose_merge_sort_inplace [function] [call site] 00300
7 gl_uninorm_decompose_merge_sort_inplace [function] [call site] 00301
8 gl_uninorm_decompose_merge_sort_fromto [function] [call site] 00302
9 gl_uninorm_decompose_merge_sort_fromto [function] [call site] 00303
10 gl_uninorm_decompose_merge_sort_fromto [function] [call site] 00304
6 u32_uctomb [function] [call site] 00307
6 __errno_location [call site] 00308
6 abort [call site] 00309
6 __errno_location [call site] 00310
6 __errno_location [call site] 00311
6 realloc [call site] 00313
6 __errno_location [call site] 00314
6 u32_uctomb [function] [call site] 00315
6 __errno_location [call site] 00316
6 abort [call site] 00317
6 abort [call site] 00318
6 __errno_location [call site] 00319
6 __errno_location [call site] 00320
6 realloc [call site] 00321
6 abort [call site] 00322
6 __errno_location [call site] 00323
6 __errno_location [call site] 00324
5 __errno_location [call site] 00326
5 u32_to_u8 [function] [call site] 00327
6 u8_uctomb [function] [call site] 00328
6 __errno_location [call site] 00329
6 realloc [call site] 00330
6 __errno_location [call site] 00331
6 u8_uctomb [function] [call site] 00332
6 abort [call site] 00333
6 __errno_location [call site] 00334
6 realloc [call site] 00335
5 __errno_location [call site] 00337
5 _idn2_punycode_decode_internal [function] [call site] 00338
5 _idn2_label_test [function] [call site] 00343
6 u32_normalize [function] [call site] 00344
6 __errno_location [call site] 00345
6 memcmp [call site] 00346
6 uc_is_general_category [function] [call site] 00348
7 bitmap_lookup [function] [call site] 00349
6 _idn2_disallowed_p [function] [call site] 00350
7 property [function] [call site] 00351
8 bsearch [call site] 00352
6 get_idna_map [function] [call site] 00354
6 _idn2_contextj_p [function] [call site] 00357
6 _idn2_contextj_rule [function] [call site] 00359
7 _idn2_contextj_p [function] [call site] 00360
7 uc_combining_class [function] [call site] 00361
7 uc_joining_type [function] [call site] 00362
8 uc_is_general_category_withtable [function] [call site] 00363
9 lookup_withtable [function] [call site] 00364
7 uc_joining_type [function] [call site] 00365
7 uc_combining_class [function] [call site] 00366
6 _idn2_contexto_p [function] [call site] 00367
6 _idn2_contexto_p [function] [call site] 00369
6 _idn2_contexto_with_rule [function] [call site] 00370
6 _idn2_contexto_rule [function] [call site] 00371
7 _idn2_contexto_p [function] [call site] 00372
7 _uc_script_name [function] [call site] 00373
8 uc_script [function] [call site] 00374
7 strcmp [call site] 00375
7 _uc_script_name [function] [call site] 00376
7 strcmp [call site] 00377
7 _uc_script_name [function] [call site] 00378
7 strcmp [call site] 00379
7 _uc_script_name [function] [call site] 00380
7 strcmp [call site] 00381
7 _uc_script_name [function] [call site] 00382
7 strcmp [call site] 00383
6 _idn2_unassigned_p [function] [call site] 00384
6 _idn2_bidi [function] [call site] 00386
7 _isBidi [function] [call site] 00387
8 uc_bidi_category [function] [call site] 00388
9 uc_bidi_class [function] [call site] 00389
7 uc_bidi_category [function] [call site] 00390
7 uc_bidi_category [function] [call site] 00391
7 uc_bidi_category [function] [call site] 00392
6 get_idna_map [function] [call site] 00393
5 _idn2_label_test [function] [call site] 00398
5 u32_to_u8 [function] [call site] 00399
5 __errno_location [call site] 00401
4 strchrnul [call site] 00403
4 label [function] [call site] 00404
5 _idn2_ascii_p [function] [call site] 00405
5 memcmp [call site] 00406
5 _idn2_punycode_decode_internal [function] [call site] 00407
5 u32_to_u8 [function] [call site] 00408
5 _idn2_u8_to_u32_nfc [function] [call site] 00409
6 u8_to_u32 [function] [call site] 00410
6 __errno_location [call site] 00411
6 _isNFC [function] [call site] 00412
7 uc_combining_class [function] [call site] 00413
7 get_nfcqc_map [function] [call site] 00414
8 _compare_nfcqc_map [function] [call site] 00415
6 u32_normalize [function] [call site] 00416
6 __errno_location [call site] 00418
5 _idn2_label_test [function] [call site] 00419
5 _idn2_punycode_encode_internal [function] [call site] 00420
6 encode_digit [function] [call site] 00421
6 encode_digit [function] [call site] 00422
5 c_strncasecmp [function] [call site] 00424
5 _idn2_punycode_decode_internal [function] [call site] 00427
3 idn2_lookup_u8 [function] [call site] 00435
3 gettext [call site] 00436
3 idn2_strerror [function] [call site] 00437
3 logprintf [function] [call site] 00439
2 strdupdelim [function] [call site] 00445
2 strdupdelim [function] [call site] 00446
2 strdupdelim [function] [call site] 00447
2 url_string [function] [call site] 00448
3 full_path_length [function] [call site] 00449
4 strlen [call site] 00450
4 strlen [call site] 00451
4 strlen [call site] 00452
3 url_escape_allow_passthrough [function] [call site] 00453
3 url_escape_allow_passthrough [function] [call site] 00457
3 url_escape_allow_passthrough [function] [call site] 00458
3 unescape_single_char [function] [call site] 00459
3 strchr [call site] 00460
3 strlen [call site] 00461
3 strlen [call site] 00462
3 strlen [call site] 00464
3 strlen [call site] 00465
3 strlen [call site] 00467
3 strlen [call site] 00468
3 strlen [call site] 00469
3 strlen [call site] 00470
3 number_to_string [function] [call site] 00471
3 full_path_write [function] [call site] 00472
4 strlen [call site] 00473
4 strlen [call site] 00474
4 strlen [call site] 00475
1 url_parse [function] [call site] 00483
1 url_parse [function] [call site] 00485
1 url_parse [function] [call site] 00487