Fuzz introspector: libwget_metalink_parse_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
43 43 1 :

['_idn2_contexto_rule']

43 110 _idn2_label_test call site: 00375 /src/libidn2/lib/idna.c:233
34 34 1 :

['wget_buffer_memset_append']

34 88 copy_string call site: 00047 /src/wget2/libwget/buffer_printf.c:75
25 25 1 :

['getHTMLValue']

25 25 getValue call site: 00106 /src/wget2/libwget/xml.c:251
6 927 9 :

['idn2_punycode_decode', 'u32_to_u8', '_idn2_label_test', 'get_map_data', 'map_is', 'malloc', 'u32_normalize', '__errno_location', 'get_idna_map']

6 967 _tr46 call site: 00273 /src/libidn2/lib/lookup.c:288
6 6 1 :

['__errno_location']

6 14 u32_normalize call site: 00320 /src/libunistring/lib/uninorm/u-normalize-internal.h:345
6 6 1 :

['wget_strmemdup']

6 6 wget_memiconv call site: 00227 /src/wget2/libwget/encoding.c:76
4 4 2 :

['gettext', '__errno_location']

6 6 wget_memiconv call site: 00232 /src/wget2/libwget/encoding.c:92
2 2 1 :

['strlen']

36 108 copy_string call site: 00045 /src/wget2/libwget/buffer_printf.c:66
2 2 1 :

['__errno_location']

2 2 _idn2_label_test call site: 00349 /src/libidn2/lib/idna.c:144
2 2 1 :

['abort']

2 2 uc_canonical_decomposition call site: 00000 /src/libunistring/lib/uninorm/canonical-decomposition.c:88
2 2 1 :

['abort']

2 2 u32_normalize call site: 00322 /src/libunistring/lib/uninorm/u-normalize-internal.h:362
2 2 1 :

['__errno_location']

2 2 u32_to_u8 call site: 00338 /src/libunistring/lib/unistr/u32-to-u8.c:111

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 __assert_fail [call site] 00001
1 wget_metalink_parse [function] [call site] 00002
2 wget_calloc [function] [call site] 00003
2 wget_xml_parse_buffer [function] [call site] 00004
3 parseXML [function] [call site] 00005
4 wget_strlcpy [function] [call site] 00006
5 strlen [call site] 00007
4 getContent [function] [call site] 00008
4 wget_debug_printf [function] [call site] 00009
4 getToken [function] [call site] 00010
5 strchr [call site] 00011
5 wget_debug_printf [function] [call site] 00012
4 wget_snprintf [function] [call site] 00014
5 wget_vsnprintf [function] [call site] 00015
6 wget_buffer_init [function] [call site] 00016
7 wget_malloc [function] [call site] 00017
6 wget_buffer_vprintf [function] [call site] 00018
7 wget_buffer_vprintf_append [function] [call site] 00019
8 wget_buffer_memcat [function] [call site] 00020
9 buffer_realloc [function] [call site] 00021
10 wget_realloc [function] [call site] 00022
10 wget_malloc [function] [call site] 00023
8 wget_buffer_strcat [function] [call site] 00024
9 strlen [call site] 00025
9 wget_buffer_memcat [function] [call site] 00026
8 convert_dec_fast [function] [call site] 00027
9 wget_buffer_memcat [function] [call site] 00028
8 wget_buffer_memcat [function] [call site] 00029
8 convert_pointer [function] [call site] 00030
9 wget_buffer_memcat [function] [call site] 00031
9 wget_buffer_memcat [function] [call site] 00032
9 wget_buffer_memcat [function] [call site] 00033
8 wget_buffer_memset_append [function] [call site] 00034
9 buffer_realloc [function] [call site] 00035
8 read_flag_chars [function] [call site] 00036
8 read_field_width [function] [call site] 00037
9 c_isdigit [function] [call site] 00038
8 read_field_width [function] [call site] 00039
8 read_precision [function] [call site] 00040
8 read_precision [function] [call site] 00043
8 copy_string [function] [call site] 00044
9 wget_buffer_strcat [function] [call site] 00045
9 strnlen [call site] 00046
9 strlen [call site] 00047
9 wget_buffer_memcat [function] [call site] 00048
9 wget_buffer_memset_append [function] [call site] 00049
9 wget_buffer_memset_append [function] [call site] 00050
9 wget_buffer_memcat [function] [call site] 00051
9 wget_buffer_memcat [function] [call site] 00052
9 wget_buffer_memcat [function] [call site] 00053
8 copy_string [function] [call site] 00054
8 convert_dec [function] [call site] 00055
9 wget_buffer_memset_append [function] [call site] 00056
9 wget_buffer_memset_append [function] [call site] 00057
9 wget_buffer_memcat [function] [call site] 00058
9 wget_buffer_memset_append [function] [call site] 00059
9 wget_buffer_memcat [function] [call site] 00060
9 wget_buffer_memset_append [function] [call site] 00061
9 wget_buffer_memset_append [function] [call site] 00062
9 wget_buffer_memset_append [function] [call site] 00063
9 wget_buffer_memset_append [function] [call site] 00064
9 wget_buffer_memset_append [function] [call site] 00065
9 wget_buffer_memset_append [function] [call site] 00066
9 wget_buffer_memset_append [function] [call site] 00067
9 wget_buffer_memset_append [function] [call site] 00068
9 wget_buffer_memset_append [function] [call site] 00069
9 wget_buffer_memset_append [function] [call site] 00070
9 wget_buffer_memset_append [function] [call site] 00071
9 wget_buffer_memcat [function] [call site] 00072
9 wget_buffer_memset_append [function] [call site] 00073
9 wget_buffer_memset_append [function] [call site] 00074
9 wget_buffer_memcat [function] [call site] 00075
9 wget_buffer_memset_append [function] [call site] 00076
9 wget_buffer_memset_append [function] [call site] 00077
9 wget_buffer_memcat [function] [call site] 00078
8 convert_dec [function] [call site] 00079
8 convert_dec [function] [call site] 00080
8 convert_dec [function] [call site] 00081
8 convert_dec [function] [call site] 00082
8 convert_dec [function] [call site] 00083
8 wget_buffer_memset_append [function] [call site] 00084
6 wget_buffer_deinit [function] [call site] 00085
6 wget_buffer_deinit [function] [call site] 00086
4 wget_snprintf [function] [call site] 00087
4 strncmp [call site] 00089
4 wget_strcasecmp_ascii [function] [call site] 00090
5 c_strcasecmp [function] [call site] 00091
4 wget_debug_printf [function] [call site] 00094
4 getScriptContent [function] [call site] 00095
5 strncmp [call site] 00096
5 strncmp [call site] 00097
5 wget_strncasecmp_ascii [function] [call site] 00098
6 c_strncasecmp [function] [call site] 00099
4 wget_debug_printf [function] [call site] 00100
4 wget_strcasecmp_ascii [function] [call site] 00101
4 getStyleContent [function] [call site] 00102
5 wget_strncasecmp_ascii [function] [call site] 00103
4 wget_debug_printf [function] [call site] 00104
4 parseXML [function] [call site] 00105
5 getValue [function] [call site] 00106
6 getHTMLValue [function] [call site] 00107
7 strchr [call site] 00108
7 wget_debug_printf [function] [call site] 00109
5 wget_debug_printf [function] [call site] 00111
5 wget_debug_printf [function] [call site] 00112
5 strncmp [call site] 00113
5 wget_malloc [function] [call site] 00115
5 strncmp [call site] 00117
5 getProcessing [function] [call site] 00118
6 getUnparsed [function] [call site] 00119
5 wget_debug_printf [function] [call site] 00120
5 strncmp [call site] 00121
5 getSpecial [function] [call site] 00122
6 getUnparsed [function] [call site] 00123
5 wget_debug_printf [function] [call site] 00124
5 strncmp [call site] 00125
5 getComment [function] [call site] 00126
6 getUnparsed [function] [call site] 00127
5 wget_debug_printf [function] [call site] 00128
2 metalink_parse [function] [call site] 00129
3 wget_strncasecmp_ascii [function] [call site] 00130
3 wget_strmemcpy_a [function] [call site] 00131
4 wget_malloc [function] [call site] 00132
3 wget_strncasecmp_ascii [function] [call site] 00133
3 wget_strcasecmp_ascii [function] [call site] 00134
3 wget_strdup [function] [call site] 00135
4 strlen [call site] 00136
4 wget_memdup [function] [call site] 00137
5 wget_malloc [function] [call site] 00138
3 wget_strcasecmp_ascii [function] [call site] 00139
3 wget_strcasecmp_ascii [function] [call site] 00140
3 __isoc99_sscanf [call site] 00141
3 wget_strcasecmp_ascii [function] [call site] 00142
3 atoll [call site] 00143
3 wget_strcasecmp_ascii [function] [call site] 00144
3 wget_strcasecmp_ascii [function] [call site] 00145
3 __isoc99_sscanf [call site] 00146
3 wget_strcasecmp_ascii [function] [call site] 00147
3 wget_strcasecmp_ascii [function] [call site] 00148
3 __isoc99_sscanf [call site] 00149
3 wget_strcasecmp_ascii [function] [call site] 00150
3 __isoc99_sscanf [call site] 00151
3 wget_strcasecmp_ascii [function] [call site] 00152
3 add_piece [function] [call site] 00153
4 __isoc99_sscanf [call site] 00154
4 wget_vector_create [function] [call site] 00155
5 wget_calloc [function] [call site] 00156
5 wget_malloc [function] [call site] 00157
4 wget_strscpy [function] [call site] 00158
4 wget_strscpy [function] [call site] 00159
4 wget_vector_size [function] [call site] 00160
4 wget_vector_get [function] [call site] 00161
4 wget_vector_add_memdup [function] [call site] 00162
5 wget_memdup [function] [call site] 00163
5 insert_element [function] [call site] 00164
6 wget_realloc [function] [call site] 00165
3 wget_strcasecmp_ascii [function] [call site] 00166
3 add_file_hash [function] [call site] 00167
4 __isoc99_sscanf [call site] 00168
4 wget_strscpy [function] [call site] 00169
4 wget_strscpy [function] [call site] 00170
4 wget_vector_create [function] [call site] 00171
4 wget_vector_add_memdup [function] [call site] 00172
3 wget_strcasecmp_ascii [function] [call site] 00173
3 atoll [call site] 00174
3 wget_strcasecmp_ascii [function] [call site] 00175
3 add_mirror [function] [call site] 00176
4 wget_iri_parse [function] [call site] 00177
5 c_isspace [function] [call site] 00178
5 c_isalpha [function] [call site] 00179
5 c_isalnum [function] [call site] 00180
5 c_isdigit [function] [call site] 00181
5 strlen [call site] 00182
5 wget_malloc [function] [call site] 00183
5 strchr [call site] 00184
5 wget_iri_unescape_inline [function] [call site] 00185
6 iri_unescape_inline [function] [call site] 00186
5 wget_strtolower [function] [call site] 00192
5 strcmp [call site] 00195
5 wget_debug_printf [function] [call site] 00196
5 wget_iri_free [function] [call site] 00197
6 wget_iri_free_content [function] [call site] 00198
5 wget_iri_unescape_inline [function] [call site] 00199
5 wget_iri_unescape_inline [function] [call site] 00200
5 normalize_path [function] [call site] 00201
6 wget_debug_printf [function] [call site] 00202
6 strncmp [call site] 00203
6 strcmp [call site] 00204
6 strncmp [call site] 00205
6 strcmp [call site] 00206
6 strlen [call site] 00207
6 wget_debug_printf [function] [call site] 00208
5 strlen [call site] 00209
5 wget_iri_unescape_inline [function] [call site] 00210
5 wget_debug_printf [function] [call site] 00211
5 strchr [call site] 00212
5 strchr [call site] 00213
5 strrchr [call site] 00214
5 strlen [call site] 00215
5 c_isdigit [function] [call site] 00216
5 strtoul [call site] 00217
5 gettext [call site] 00218
5 wget_error_printf [function] [call site] 00219
5 wget_iri_free [function] [call site] 00220
5 wget_strtolower [function] [call site] 00221
5 wget_str_needs_encoding [function] [call site] 00222
5 wget_str_to_utf8 [function] [call site] 00223
6 wget_striconv [function] [call site] 00224
7 strlen [call site] 00225
7 wget_memiconv [function] [call site] 00226
8 wget_strcasecmp_ascii [function] [call site] 00227
8 iconv_open [call site] 00228
8 wget_malloc [function] [call site] 00229
8 iconv_close [call site] 00230
8 __errno_location [call site] 00231
8 iconv [call site] 00232
8 iconv [call site] 00233
8 wget_debug_printf [function] [call site] 00234
8 wget_realloc [function] [call site] 00235
8 gettext [call site] 00236
8 __errno_location [call site] 00237
8 wget_error_printf [function] [call site] 00238
8 iconv_close [call site] 00239
8 gettext [call site] 00240
8 __errno_location [call site] 00241
8 wget_error_printf [function] [call site] 00242
8 wget_strmemdup [function] [call site] 00243
9 wget_malloc [function] [call site] 00244
5 wget_str_to_ascii [function] [call site] 00245
6 wget_str_needs_encoding [function] [call site] 00246
6 idn2_lookup_u8 [function] [call site] 00247
7 set_default_flags [function] [call site] 00248
7 _tr46 [function] [call site] 00249
8 u8_strlen [function] [call site] 00250
9 strlen [call site] 00251
8 u8_to_u32 [function] [call site] 00252
9 u8_mbtoucr [function] [call site] 00253
9 libunistring_rpl_free [function] [call site] 00254
10 __errno_location [call site] 00255
10 __errno_location [call site] 00256
9 __errno_location [call site] 00257
9 realloc [call site] 00258
9 libunistring_rpl_free [function] [call site] 00259
9 __errno_location [call site] 00260
9 __errno_location [call site] 00261
9 realloc [call site] 00262
8 __errno_location [call site] 00263
8 get_idna_map [function] [call site] 00264
9 bsearch [call site] 00265
9 _compare_idna_map [function] [call site] 00266
10 _fill_map [function] [call site] 00267
9 bsearch [call site] 00268
9 _compare_idna_map [function] [call site] 00269
9 bsearch [call site] 00270
9 _compare_idna_map [function] [call site] 00271
9 _fill_map [function] [call site] 00272
8 get_idna_map [function] [call site] 00283
8 get_map_data [function] [call site] 00286
8 get_map_data [function] [call site] 00290
8 get_map_data [function] [call site] 00293
8 u32_normalize [function] [call site] 00295
9 u32_mbtouc_unsafe [function] [call site] 00296
9 abort [call site] 00297
9 abort [call site] 00298
9 uc_combining_class [function] [call site] 00299
9 libunistring_gl_uninorm_decompose_merge_sort_inplace [function] [call site] 00300
10 libunistring_gl_uninorm_decompose_merge_sort_inplace [function] [call site] 00301
11 gl_uninorm_decompose_merge_sort_fromto [function] [call site] 00302
12 gl_uninorm_decompose_merge_sort_fromto [function] [call site] 00303
13 gl_uninorm_decompose_merge_sort_fromto [function] [call site] 00304
9 u32_uctomb [function] [call site] 00307
9 __errno_location [call site] 00308
9 abort [call site] 00309
9 __errno_location [call site] 00310
9 __errno_location [call site] 00311
9 realloc [call site] 00313
9 __errno_location [call site] 00314
9 u32_uctomb [function] [call site] 00315
9 __errno_location [call site] 00316
9 abort [call site] 00317
9 abort [call site] 00318
9 __errno_location [call site] 00319
9 libunistring_rpl_free [function] [call site] 00320
9 __errno_location [call site] 00321
9 realloc [call site] 00322
9 abort [call site] 00323
9 libunistring_rpl_free [function] [call site] 00324
9 __errno_location [call site] 00325
9 libunistring_rpl_free [function] [call site] 00326
9 libunistring_rpl_free [function] [call site] 00327
9 __errno_location [call site] 00328
8 __errno_location [call site] 00330
8 u32_to_u8 [function] [call site] 00331
9 u8_uctomb [function] [call site] 00332
9 libunistring_rpl_free [function] [call site] 00333
9 __errno_location [call site] 00334
9 realloc [call site] 00335
9 libunistring_rpl_free [function] [call site] 00336
9 u8_uctomb [function] [call site] 00337
9 abort [call site] 00338
9 __errno_location [call site] 00339
9 realloc [call site] 00340
8 __errno_location [call site] 00342
8 idn2_punycode_decode [function] [call site] 00343
8 _idn2_label_test [function] [call site] 00348
9 u32_normalize [function] [call site] 00349
9 __errno_location [call site] 00350
9 memcmp [call site] 00351
9 uc_is_general_category [function] [call site] 00353
10 bitmap_lookup [function] [call site] 00354
9 _idn2_disallowed_p [function] [call site] 00355
10 property [function] [call site] 00356
11 bsearch [call site] 00357
11 _compare [function] [call site] 00358
9 get_idna_map [function] [call site] 00359
9 _idn2_contextj_p [function] [call site] 00362
10 property [function] [call site] 00363
9 _idn2_contextj_rule [function] [call site] 00364
10 _idn2_contextj_p [function] [call site] 00365
10 uc_combining_class [function] [call site] 00366
10 uc_joining_type [function] [call site] 00367
11 uc_is_general_category_withtable [function] [call site] 00368
12 lookup_withtable [function] [call site] 00369
10 uc_joining_type [function] [call site] 00370
10 uc_combining_class [function] [call site] 00371
9 _idn2_contexto_p [function] [call site] 00372
10 property [function] [call site] 00373
9 _idn2_contexto_p [function] [call site] 00374
9 _idn2_contexto_with_rule [function] [call site] 00375
9 _idn2_contexto_rule [function] [call site] 00376
10 _idn2_contexto_p [function] [call site] 00377
10 _uc_script_name [function] [call site] 00378
11 uc_script [function] [call site] 00379
10 strcmp [call site] 00380
10 _uc_script_name [function] [call site] 00381
10 strcmp [call site] 00382
10 _uc_script_name [function] [call site] 00383
10 strcmp [call site] 00384
10 _uc_script_name [function] [call site] 00385
10 strcmp [call site] 00386
10 _uc_script_name [function] [call site] 00387
10 strcmp [call site] 00388
9 _idn2_unassigned_p [function] [call site] 00389
10 property [function] [call site] 00390
9 _idn2_bidi [function] [call site] 00391
10 _isBidi [function] [call site] 00392
11 uc_bidi_category [function] [call site] 00393
12 uc_bidi_class [function] [call site] 00394
10 uc_bidi_category [function] [call site] 00395
10 uc_bidi_category [function] [call site] 00396
10 uc_bidi_category [function] [call site] 00397
9 get_idna_map [function] [call site] 00398
8 _idn2_label_test [function] [call site] 00402
8 u32_to_u8 [function] [call site] 00403
8 __errno_location [call site] 00405
7 strchrnul [call site] 00407
7 label [function] [call site] 00408
8 _idn2_ascii_p [function] [call site] 00409
8 memcmp [call site] 00410
8 idn2_punycode_decode [function] [call site] 00411
8 u32_to_u8 [function] [call site] 00412
8 __errno_location [call site] 00413
8 _idn2_u8_to_u32_nfc [function] [call site] 00414
9 u8_to_u32 [function] [call site] 00415
9 __errno_location [call site] 00416
9 _isNFC [function] [call site] 00417
10 uc_combining_class [function] [call site] 00418
10 get_nfcqc_map [function] [call site] 00419
11 bsearch [call site] 00420
11 _compare_nfcqc_map [function] [call site] 00421
9 u32_normalize [function] [call site] 00422
9 __errno_location [call site] 00424
8 _idn2_label_test [function] [call site] 00425
8 idn2_punycode_encode [function] [call site] 00426
9 encode_digit [function] [call site] 00427
9 encode_digit [function] [call site] 00428
8 c_strncasecmp [function] [call site] 00430
8 idn2_punycode_decode [function] [call site] 00433
6 idn2_lookup_u8 [function] [call site] 00441
6 wget_debug_printf [function] [call site] 00442
6 gettext [call site] 00443
6 idn2_strerror [function] [call site] 00444
6 wget_error_printf [function] [call site] 00445
5 wget_ip_is_family [function] [call site] 00446
6 inet_pton [call site] 00447
6 inet_pton [call site] 00448
5 gettext [call site] 00449
5 wget_error_printf [function] [call site] 00450
5 wget_iri_free [function] [call site] 00451
5 wget_str_needs_encoding [function] [call site] 00452
5 wget_str_to_utf8 [function] [call site] 00453
5 wget_str_needs_encoding [function] [call site] 00454
5 wget_str_to_utf8 [function] [call site] 00455
5 wget_str_needs_encoding [function] [call site] 00456
5 wget_str_to_utf8 [function] [call site] 00457
5 create_safe_uri [function] [call site] 00458
6 strlen [call site] 00459
6 wget_buffer_alloc [function] [call site] 00460
7 wget_malloc [function] [call site] 00461
7 wget_buffer_init [function] [call site] 00462
6 wget_buffer_printf [function] [call site] 00463
7 wget_buffer_vprintf [function] [call site] 00464
6 wget_buffer_strcat [function] [call site] 00465
6 wget_buffer_strcat [function] [call site] 00466
6 wget_buffer_strcat [function] [call site] 00467
6 wget_buffer_strcat [function] [call site] 00468
6 wget_buffer_strcat [function] [call site] 00469
6 wget_buffer_strcat [function] [call site] 00470
6 wget_buffer_free [function] [call site] 00471
7 wget_buffer_deinit [function] [call site] 00472
4 wget_iri_supported [function] [call site] 00473
4 gettext [call site] 00474
4 wget_error_printf [function] [call site] 00475
4 wget_iri_free [function] [call site] 00476
4 wget_calloc [function] [call site] 00477
4 wget_strscpy [function] [call site] 00478
4 wget_vector_create [function] [call site] 00479
4 wget_vector_set_destructor [function] [call site] 00480
4 mirror_free [function] [call site] 00481
5 wget_iri_free [function] [call site] 00482
4 wget_vector_add [function] [call site] 00483
5 insert_element [function] [call site] 00484
3 wget_strcasecmp_ascii [function] [call site] 00485
3 wget_strdup [function] [call site] 00486
3 wget_strcasecmp_ascii [function] [call site] 00487
3 wget_strcasecmp_ascii [function] [call site] 00488
3 __isoc99_sscanf [call site] 00489
3 wget_strcasecmp_ascii [function] [call site] 00490
3 atoll [call site] 00491
3 wget_strcasecmp_ascii [function] [call site] 00492
3 wget_strcasecmp_ascii [function] [call site] 00493
3 __isoc99_sscanf [call site] 00494
3 wget_strcasecmp_ascii [function] [call site] 00495
3 wget_strcasecmp_ascii [function] [call site] 00496
3 __isoc99_sscanf [call site] 00497
3 wget_strcasecmp_ascii [function] [call site] 00498
3 __isoc99_sscanf [call site] 00499
3 wget_strcasecmp_ascii [function] [call site] 00500
3 add_piece [function] [call site] 00501
3 wget_strcasecmp_ascii [function] [call site] 00502
3 add_file_hash [function] [call site] 00503
3 wget_strcasecmp_ascii [function] [call site] 00504
3 atoll [call site] 00505
3 wget_strcasecmp_ascii [function] [call site] 00506
3 add_mirror [function] [call site] 00507
2 gettext [call site] 00508
2 wget_error_printf [function] [call site] 00509
2 wget_metalink_free [function] [call site] 00510
3 wget_vector_free [function] [call site] 00511
4 wget_vector_clear [function] [call site] 00512
3 wget_vector_free [function] [call site] 00513
3 wget_vector_free [function] [call site] 00514
1 wget_metalink_sort_mirrors [function] [call site] 00515
2 wget_vector_setcmpfunc [function] [call site] 00516
2 compare_mirror [function] [call site] 00517
2 wget_vector_sort [function] [call site] 00518
3 qsort_r [call site] 00519
3 compare_element [function] [call site] 00520
1 wget_metalink_free [function] [call site] 00521