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
1131 2611 11 :

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

1131 3055 parseurl call site: 00254 /src/curl/lib/urlapi.c:1205
4 219 3 :

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

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: 00277 /src/curl/lib/urlapi.c:1313
0 240 1 :

['curl_dbg_strdup']

0 240 curl_mvaprintf call site: 00074 /src/curl/lib/mprintf.c:1105
0 222 1 :

['Curl_dyn_free']

0 222 Curl_dyn_vprintf call site: 00103 /src/curl/lib/mprintf.c:1085
0 222 1 :

['Curl_dyn_free']

0 222 curl_mvaprintf call site: 00070 /src/curl/lib/mprintf.c:1101
0 0 None 1133 4102 parseurl call site: 00173 /src/curl/lib/urlapi.c:1147
0 0 None 1133 4102 parseurl call site: 00173 /src/curl/lib/urlapi.c:1151
0 0 None 1133 3862 parseurl call site: 00174 /src/curl/lib/urlapi.c:1162
0 0 None 874 2834 parseurl call site: 00166 /src/curl/lib/urlapi.c:1017
0 0 None 874 2798 parseurl call site: 00254 /src/curl/lib/urlapi.c:1199
0 0 None 872 2558 parseurl call site: 00260 /src/curl/lib/urlapi.c:1223

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