Fuzz introspector: fuzz_url
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
1135 2615 11 :

['Curl_dyn_len', 'Curl_strndup', 'dedotdotify', 'Curl_dyn_init', 'strchr', 'curl_dbg_strdup', 'Curl_dyn_add', 'urlencode_str', 'memchr', 'curl_dbg_free', 'Curl_dyn_ptr']

1135 3059 parseurl call site: 00264 /src/curl/lib/urlapi.c:1206
4 219 3 :

['__errno_location', 'fflush', 'curl_dbg_log']

4 219 countcheck call site: 00005 /src/curl/lib/memdebug.c:111
0 444 2 :

['free_urlhandle', 'Curl_dyn_free']

0 444 parseurl call site: 00289 /src/curl/lib/urlapi.c:1312
0 240 1 :

['curl_dbg_strdup']

0 240 curl_mvaprintf call site: 00077 /src/curl/lib/mprintf.c:1100
0 222 1 :

['Curl_dyn_free']

0 222 Curl_dyn_vprintf call site: 00108 /src/curl/lib/mprintf.c:1080
0 222 1 :

['Curl_dyn_free']

0 222 curl_mvaprintf call site: 00073 /src/curl/lib/mprintf.c:1096
0 0 None 1137 4113 parseurl call site: 00183 /src/curl/lib/urlapi.c:1148
0 0 None 1137 4113 parseurl call site: 00183 /src/curl/lib/urlapi.c:1152
0 0 None 1137 3873 parseurl call site: 00184 /src/curl/lib/urlapi.c:1163
0 0 None 877 2837 parseurl call site: 00177 /src/curl/lib/urlapi.c:1017
0 0 None 877 2801 parseurl call site: 00264 /src/curl/lib/urlapi.c:1200
0 0 None 875 2561 parseurl call site: 00272 /src/curl/lib/urlapi.c:1224

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 curl_url [function] [call site] 00001
2 curl_dbg_calloc [function] [call site] 00002
3 __assert_fail [call site] 00003
3 __assert_fail [call site] 00004
3 countcheck [function] [call site] 00005
4 curl_dbg_log [function] [call site] 00006
5 curl_mvsnprintf [function] [call site] 00007
6 dprintf_formatf [function] [call site] 00008
7 dprintf_Pass1 [function] [call site] 00009
8 dprintf_DollarString [function] [call site] 00010
8 dprintf_IsQualifierNoDollar [function] [call site] 00011
8 dprintf_DollarString [function] [call site] 00012
8 strtol [call site] 00013
8 strtol [call site] 00014
8 dprintf_DollarString [function] [call site] 00015
7 dprintf_DollarString [function] [call site] 00016
7 strlen [call site] 00017
7 strlen [call site] 00018
7 curl_msnprintf [function] [call site] 00019
8 curl_mvsnprintf [function] [call site] 00020
9 __assert_fail [call site] 00021
7 curl_msnprintf [function] [call site] 00022
7 snprintf [call site] 00023
7 strlen [call site] 00024
5 fwrite [call site] 00025
4 curl_mfprintf [function] [call site] 00026
5 dprintf_formatf [function] [call site] 00027
5 fputc [call site] 00028
4 fflush [call site] 00029
4 __errno_location [call site] 00030
3 curl_dbg_log [function] [call site] 00031
1 curl_url_set [function] [call site] 00032
2 curl_dbg_free [function] [call site] 00033
3 curl_dbg_log [function] [call site] 00034
2 free_urlhandle [function] [call site] 00035
3 curl_dbg_free [function] [call site] 00036
3 curl_dbg_free [function] [call site] 00037
3 curl_dbg_free [function] [call site] 00038
3 curl_dbg_free [function] [call site] 00039
3 curl_dbg_free [function] [call site] 00040
3 curl_dbg_free [function] [call site] 00041
3 curl_dbg_free [function] [call site] 00042
3 curl_dbg_free [function] [call site] 00043
3 curl_dbg_free [function] [call site] 00044
3 curl_dbg_free [function] [call site] 00045
2 strlen [call site] 00046
2 strlen [call site] 00047
2 Curl_get_scheme_handler [function] [call site] 00048
3 strlen [call site] 00049
3 Curl_getn_scheme_handler [function] [call site] 00050
4 Curl_raw_tolower [function] [call site] 00051
4 curl_strnequal [function] [call site] 00052
5 ncasecompare [function] [call site] 00053
6 Curl_raw_toupper [function] [call site] 00054
6 Curl_raw_toupper [function] [call site] 00055
2 curl_dbg_free [function] [call site] 00056
2 strtol [call site] 00057
2 Curl_is_absolute_url [function] [call site] 00058
3 __assert_fail [call site] 00059
3 Curl_raw_tolower [function] [call site] 00060
2 curl_url_get [function] [call site] 00061
3 Curl_get_scheme_handler [function] [call site] 00062
3 curl_msnprintf [function] [call site] 00063
3 Curl_get_scheme_handler [function] [call site] 00064
3 curl_strequal [function] [call site] 00065
4 casecompare [function] [call site] 00066
5 Curl_raw_toupper [function] [call site] 00067
3 curl_maprintf [function] [call site] 00068
4 curl_mvaprintf [function] [call site] 00069
5 Curl_dyn_init [function] [call site] 00070
6 __assert_fail [call site] 00071
6 __assert_fail [call site] 00072
5 dprintf_formatf [function] [call site] 00073
5 Curl_dyn_free [function] [call site] 00074
6 __assert_fail [call site] 00075
6 curl_dbg_free [function] [call site] 00076
5 Curl_dyn_len [function] [call site] 00077
6 __assert_fail [call site] 00078
6 __assert_fail [call site] 00079
6 __assert_fail [call site] 00080
5 Curl_dyn_ptr [function] [call site] 00081
6 __assert_fail [call site] 00082
6 __assert_fail [call site] 00083
6 __assert_fail [call site] 00084
5 curl_dbg_strdup [function] [call site] 00085
6 __assert_fail [call site] 00086
6 countcheck [function] [call site] 00087
6 strlen [call site] 00088
6 curl_dbg_malloc [function] [call site] 00089
7 __assert_fail [call site] 00090
7 countcheck [function] [call site] 00091
7 curl_dbg_log [function] [call site] 00092
6 curl_dbg_log [function] [call site] 00093
3 Curl_get_scheme_handler [function] [call site] 00094
3 curl_msnprintf [function] [call site] 00095
3 strlen [call site] 00096
3 Curl_dyn_init [function] [call site] 00097
3 Curl_dyn_addf [function] [call site] 00098
4 __assert_fail [call site] 00099
4 __assert_fail [call site] 00100
4 __assert_fail [call site] 00101
4 Curl_dyn_vaddf [function] [call site] 00102
5 __assert_fail [call site] 00103
5 __assert_fail [call site] 00104
5 __assert_fail [call site] 00105
5 __assert_fail [call site] 00106
5 Curl_dyn_vprintf [function] [call site] 00107
6 dprintf_formatf [function] [call site] 00108
6 Curl_dyn_free [function] [call site] 00109
3 Curl_dyn_ptr [function] [call site] 00110
3 curl_easy_escape [function] [call site] 00111
4 Curl_dyn_init [function] [call site] 00112
4 strlen [call site] 00113
4 curl_dbg_strdup [function] [call site] 00114
4 Curl_dyn_addn [function] [call site] 00115
5 __assert_fail [call site] 00116
5 __assert_fail [call site] 00117
5 __assert_fail [call site] 00118
5 dyn_nappend [function] [call site] 00119
6 __assert_fail [call site] 00120
6 __assert_fail [call site] 00121
6 __assert_fail [call site] 00122
6 __assert_fail [call site] 00123
6 __assert_fail [call site] 00124
6 __assert_fail [call site] 00125
6 Curl_dyn_free [function] [call site] 00126
6 __assert_fail [call site] 00127
6 curl_dbg_realloc [function] [call site] 00128
7 __assert_fail [call site] 00129
7 countcheck [function] [call site] 00130
7 curl_dbg_log [function] [call site] 00131
6 Curl_dyn_free [function] [call site] 00132
4 Curl_dyn_addn [function] [call site] 00133
4 Curl_dyn_ptr [function] [call site] 00134
3 Curl_is_ASCII_name [function] [call site] 00135
3 Curl_is_ASCII_name [function] [call site] 00136
3 strncmp [call site] 00137
3 curl_maprintf [function] [call site] 00138
3 curl_dbg_free [function] [call site] 00139
3 strlen [call site] 00140
3 Curl_strndup [function] [call site] 00141
3 Curl_urldecode [function] [call site] 00142
4 __assert_fail [call site] 00143
4 __assert_fail [call site] 00144
4 strlen [call site] 00145
4 curl_dbg_malloc [function] [call site] 00146
4 curl_dbg_free [function] [call site] 00147
3 curl_dbg_free [function] [call site] 00148
3 Curl_dyn_init [function] [call site] 00149
3 urlencode_str [function] [call site] 00150
4 find_host_sep [function] [call site] 00151
5 strstr [call site] 00152
5 strchr [call site] 00153
5 strchr [call site] 00154
5 strlen [call site] 00155
5 strlen [call site] 00156
4 Curl_dyn_addn [function] [call site] 00157
4 Curl_dyn_addn [function] [call site] 00158
4 Curl_dyn_addn [function] [call site] 00159
4 Curl_dyn_addn [function] [call site] 00160
4 Curl_dyn_addn [function] [call site] 00161
3 curl_dbg_free [function] [call site] 00162
3 Curl_dyn_ptr [function] [call site] 00163
3 Curl_is_ASCII_name [function] [call site] 00164
3 Curl_is_ASCII_name [function] [call site] 00165
3 strncmp [call site] 00166
2 parseurl_and_replace [function] [call site] 00167
3 parseurl [function] [call site] 00168
4 __assert_fail [call site] 00169
4 Curl_dyn_init [function] [call site] 00170
4 junkscan [function] [call site] 00171
5 strlen [call site] 00172
5 strcspn [call site] 00173
5 strchr [call site] 00174
4 Curl_is_absolute_url [function] [call site] 00175
4 strcmp [call site] 00176
4 curl_dbg_strdup [function] [call site] 00177
4 curl_strnequal [function] [call site] 00178
4 curl_strnequal [function] [call site] 00179
4 Curl_dyn_reset [function] [call site] 00180
5 __assert_fail [call site] 00181
5 __assert_fail [call site] 00182
4 Curl_get_scheme_handler [function] [call site] 00183
4 curl_dbg_strdup [function] [call site] 00184
4 strcspn [call site] 00185
4 parse_authority [function] [call site] 00186
5 parse_hostname_login [function] [call site] 00187
6 __assert_fail [call site] 00188
6 memchr [call site] 00189
6 Curl_get_scheme_handler [function] [call site] 00190
6 Curl_parse_login_details [function] [call site] 00191
7 memchr [call site] 00192
7 memchr [call site] 00193
7 curl_dbg_malloc [function] [call site] 00194
7 curl_dbg_malloc [function] [call site] 00195
7 curl_dbg_free [function] [call site] 00196
7 curl_dbg_malloc [function] [call site] 00197
7 curl_dbg_free [function] [call site] 00198
7 curl_dbg_free [function] [call site] 00199
7 curl_dbg_free [function] [call site] 00200
7 curl_dbg_free [function] [call site] 00201
7 curl_dbg_free [function] [call site] 00202
6 curl_dbg_free [function] [call site] 00203
6 curl_dbg_free [function] [call site] 00204
6 curl_dbg_free [function] [call site] 00205
6 curl_dbg_free [function] [call site] 00206
6 curl_dbg_free [function] [call site] 00207
6 curl_dbg_free [function] [call site] 00208
5 Curl_dyn_addn [function] [call site] 00209
5 Curl_parse_port [function] [call site] 00210
6 Curl_dyn_ptr [function] [call site] 00211
6 strchr [call site] 00212
6 strchr [call site] 00213
6 Curl_dyn_setlen [function] [call site] 00214
7 __assert_fail [call site] 00215
7 __assert_fail [call site] 00216
7 __assert_fail [call site] 00217
6 strtol [call site] 00218
6 curl_dbg_free [function] [call site] 00219
6 curl_maprintf [function] [call site] 00220
5 Curl_dyn_len [function] [call site] 00221
5 ipv4_normalize [function] [call site] 00222
6 Curl_dyn_ptr [function] [call site] 00223
6 strtoul [call site] 00224
6 __errno_location [call site] 00225
6 Curl_dyn_reset [function] [call site] 00226
6 Curl_dyn_addf [function] [call site] 00227
6 Curl_dyn_reset [function] [call site] 00228
6 Curl_dyn_addf [function] [call site] 00229
6 Curl_dyn_reset [function] [call site] 00230
6 Curl_dyn_addf [function] [call site] 00231
6 Curl_dyn_reset [function] [call site] 00232
6 Curl_dyn_addf [function] [call site] 00233
5 Curl_dyn_ptr [function] [call site] 00234
5 ipv6_parse [function] [call site] 00235
6 __assert_fail [call site] 00236
6 strspn [call site] 00237
6 strncmp [call site] 00238
6 curl_dbg_strdup [function] [call site] 00239
6 inet_pton [call site] 00240
6 inet_ntop [call site] 00241
6 strlen [call site] 00242
6 strcpy [call site] 00243
6 strlen [call site] 00244
5 urldecode_host [function] [call site] 00245
6 Curl_dyn_ptr [function] [call site] 00246
6 strchr [call site] 00247
6 Curl_urldecode [function] [call site] 00248
6 Curl_dyn_reset [function] [call site] 00249
6 Curl_dyn_addn [function] [call site] 00250
6 curl_dbg_free [function] [call site] 00251
5 Curl_dyn_ptr [function] [call site] 00252
5 hostname_check [function] [call site] 00253
6 __assert_fail [call site] 00254
6 ipv6_parse [function] [call site] 00255
6 strcspn [call site] 00256
4 Curl_dyn_ptr [function] [call site] 00257
4 curl_strnequal [function] [call site] 00258
4 curl_strnequal [function] [call site] 00259
4 curl_strnequal [function] [call site] 00260
4 curl_strnequal [function] [call site] 00261
4 curl_strnequal [function] [call site] 00262
4 curl_strnequal [function] [call site] 00263
4 curl_dbg_strdup [function] [call site] 00264
4 Curl_dyn_add [function] [call site] 00265
5 __assert_fail [call site] 00266
5 __assert_fail [call site] 00267
5 __assert_fail [call site] 00268
5 __assert_fail [call site] 00269
5 strlen [call site] 00270
5 dyn_nappend [function] [call site] 00271
4 strchr [call site] 00272
4 Curl_dyn_init [function] [call site] 00273
4 urlencode_str [function] [call site] 00274
4 Curl_dyn_ptr [function] [call site] 00275
4 Curl_strndup [function] [call site] 00276
4 __assert_fail [call site] 00277
4 memchr [call site] 00278
4 Curl_dyn_init [function] [call site] 00279
4 urlencode_str [function] [call site] 00280
4 Curl_dyn_ptr [function] [call site] 00281
4 Curl_strndup [function] [call site] 00282
4 curl_dbg_strdup [function] [call site] 00283
4 Curl_dyn_init [function] [call site] 00284
4 urlencode_str [function] [call site] 00285
4 Curl_dyn_len [function] [call site] 00286
4 Curl_dyn_ptr [function] [call site] 00287
4 Curl_strndup [function] [call site] 00288
4 dedotdotify [function] [call site] 00289
5 memchr [call site] 00290
5 curl_dbg_malloc [function] [call site] 00291
5 strncmp [call site] 00292
5 strncmp [call site] 00293
5 strcmp [call site] 00294
5 strncmp [call site] 00295
5 strncmp [call site] 00296
5 strcmp [call site] 00297
5 strncmp [call site] 00298
5 strcmp [call site] 00299
4 curl_dbg_free [function] [call site] 00300
4 Curl_dyn_ptr [function] [call site] 00301
4 Curl_dyn_free [function] [call site] 00302
4 free_urlhandle [function] [call site] 00303
3 free_urlhandle [function] [call site] 00304
2 concat_url [function] [call site] 00305
3 strstr [call site] 00306
3 strchr [call site] 00307
3 strrchr [call site] 00308
3 strchr [call site] 00309
3 strrchr [call site] 00310
3 strchr [call site] 00311
3 strchr [call site] 00312
3 strchr [call site] 00313
3 Curl_dyn_init [function] [call site] 00314
3 Curl_dyn_add [function] [call site] 00315
3 Curl_dyn_addn [function] [call site] 00316
3 strlen [call site] 00317
3 urlencode_str [function] [call site] 00318
3 Curl_dyn_ptr [function] [call site] 00319
2 curl_dbg_free [function] [call site] 00320
2 parseurl_and_replace [function] [call site] 00321
2 curl_dbg_free [function] [call site] 00322
2 __assert_fail [call site] 00323
2 Curl_dyn_init [function] [call site] 00324
2 Curl_dyn_addn [function] [call site] 00325
2 Curl_dyn_addn [function] [call site] 00326
2 Curl_dyn_addn [function] [call site] 00327
2 Curl_dyn_addn [function] [call site] 00328
2 Curl_dyn_add [function] [call site] 00329
2 Curl_dyn_ptr [function] [call site] 00330
2 Curl_raw_tolower [function] [call site] 00331
2 Curl_raw_tolower [function] [call site] 00332
2 Curl_dyn_ptr [function] [call site] 00333
2 strlen [call site] 00334
2 Curl_dyn_init [function] [call site] 00335
2 Curl_dyn_addn [function] [call site] 00336
2 Curl_dyn_addn [function] [call site] 00337
2 Curl_dyn_add [function] [call site] 00338
2 Curl_dyn_free [function] [call site] 00339
2 curl_dbg_free [function] [call site] 00340
2 Curl_dyn_ptr [function] [call site] 00341
2 Curl_dyn_free [function] [call site] 00342
2 Curl_dyn_len [function] [call site] 00343
2 hostname_check [function] [call site] 00344
2 Curl_dyn_free [function] [call site] 00345
2 curl_dbg_free [function] [call site] 00346
1 curl_url_cleanup [function] [call site] 00347
2 free_urlhandle [function] [call site] 00348
2 curl_dbg_free [function] [call site] 00349