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
4 219 3 :

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

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

['strlen']

2 2 dedotdotify call site: 00211 /src/curl/lib/urlapi.c:896
0 0 None 932 2700 curl_url_get call site: 00060 /src/curl/lib/urlapi.c:1385
0 0 None 932 2700 curl_url_get call site: 00060 /src/curl/lib/urlapi.c:1387
0 0 None 626 1397 curl_url_get call site: 00067 /src/curl/lib/urlapi.c:1469
0 0 None 588 5320 parseurl call site: 00175 /src/curl/lib/urlapi.c:1086
0 0 None 588 5320 parseurl call site: 00175 /src/curl/lib/urlapi.c:1090
0 0 None 588 4861 parseurl call site: 00168 /src/curl/lib/urlapi.c:954
0 0 None 588 4825 parseurl call site: 00179 /src/curl/lib/urlapi.c:1122
0 0 None 584 4583 parseurl call site: 00182 /src/curl/lib/urlapi.c:1135
0 0 None 576 4085 parseurl call site: 00186 /src/curl/lib/urlapi.c:1152
0 0 None 410 6583 curl_url_set call site: 00032 /src/curl/lib/urlapi.c:1655

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