Fuzz introspector: fuzz_requests
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
165 135 urllib3.util.retry.Retry.__init__ call site: {node_id} urllib3._request_methods.RequestMethods.request_encode_body
58 0 EP call site: {node_id} urllib3._request_methods.RequestMethods.request
28 105 urllib3.util.url.parse_url call site: {node_id} urllib3.poolmanager.PoolManager.connection_from_host
2 90 urllib3.util.url._idna_encode call site: {node_id} name.lower
1 74 urllib3.util.url._encode_invalid_chars call site: {node_id} byte.decode
1 88 urllib3.util.url._normalize_host call site: {node_id} urllib3.util.url._idna_encode
1 93 urllib3.util.url._idna_encode call site: {node_id} host.split

Fuzzer calltree

0 ...fuzz_requests.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00002
1 fdp.ConsumeIntInRange [function] [call site] 00003
1 fdp.PickValueInList [function] [call site] 00004
1 fdp.PickValueInList [function] [call site] 00005
1 urllib3._collections.HTTPHeaderDict.__init__ [function] [call site] 00006
2 .isinstance [function] [call site] 00008
2 urllib3._collections.HTTPHeaderDict._copy_from [function] [call site] 00009
3 other.getlist [function] [call site] 00010
3 key.lower [function] [call site] 00011
2 urllib3._collections.HTTPHeaderDict.extend [function] [call site] 00012
3 .isinstance [function] [call site] 00015
3 other.iteritems [function] [call site] 00016
3 urllib3._collections.HTTPHeaderDict.add [function] [call site] 00017
3 .isinstance [function] [call site] 00023
3 other.items [function] [call site] 00024
3 urllib3._collections.HTTPHeaderDict.add [function] [call site] 00025
3 .isinstance [function] [call site] 00026
3 typing.cast [function] [call site] 00027
3 urllib3._collections.HTTPHeaderDict.add [function] [call site] 00028
3 other.keys [function] [call site] 00031
3 urllib3._collections.HTTPHeaderDict.add [function] [call site] 00032
3 kwargs.items [function] [call site] 00033
3 urllib3._collections.HTTPHeaderDict.add [function] [call site] 00034
2 urllib3._collections.HTTPHeaderDict.extend [function] [call site] 00035
1 fdp.ConsumeIntInRange [function] [call site] 00036
1 urllib3._collections.HTTPHeaderDict.add [function] [call site] 00038
1 fdp.ConsumeString [function] [call site] 00039
1 fdp.ConsumeString [function] [call site] 00040
1 fdp.ConsumeBool [function] [call site] 00041
1 fdp.ConsumeIntInRange [function] [call site] 00042
1 fdp.ConsumeString [function] [call site] 00044
1 fdp.ConsumeString [function] [call site] 00045
1 fdp.ConsumeBool [function] [call site] 00046
1 fdp.ConsumeBool [function] [call site] 00047
1 fdp.ConsumeString [function] [call site] 00048
1 urllib3._request_methods.RequestMethods.request [function] [call site] 00049
2 method.upper [function] [call site] 00050
2 headers.keys [function] [call site] 00051
2 json.dumps [function] [call site] 00053
2 urllib3._request_methods.RequestMethods.request_encode_url [function] [call site] 00054
3 extra_kw.update [function] [call site] 00055
3 urllib.parse.urlencode [function] [call site] 00056
3 urllib3.poolmanager.PoolManager.urlopen [function] [call site] 00057
4 urllib3.util.url.parse_url [function] [call site] 00058
5 _SCHEME_RE.search [function] [call site] 00059
5 _URI_RE.match [function] [call site] 00060
5 scheme.lower [function] [call site] 00061
5 scheme.lower [function] [call site] 00062
5 authority.rpartition [function] [call site] 00063
5 _HOST_PORT_RE.match [function] [call site] 00064
5 urllib3.util.url._encode_invalid_chars [function] [call site] 00065
6 urllib3.util.util.to_str [function] [call site] 00066
7 .isinstance [function] [call site] 00067
7 .isinstance [function] [call site] 00068
6 _PERCENT_RE.subn [function] [call site] 00069
6 uri_bytes.count [function] [call site] 00070
6 .bytearray [function] [call site] 00071
6 byte.decode [function] [call site] 00075
6 encoded_component.extend [function] [call site] 00077
6 encoded_component.decode [function] [call site] 00078
5 urllib3.util.url._normalize_host [function] [call site] 00080
6 _IPV6_ADDRZ_RE.match [function] [call site] 00081
6 _ZONE_ID_RE.search [function] [call site] 00082
6 match.span [function] [call site] 00083
6 zone_id.startswith [function] [call site] 00084
6 urllib3.util.url._encode_invalid_chars [function] [call site] 00085
6 host.lower [function] [call site] 00086
6 _IPV4_RE.match [function] [call site] 00087
6 urllib3.util.util.to_str [function] [call site] 00088
6 urllib3.util.url._idna_encode [function] [call site] 00089
7 name.isascii [function] [call site] 00090
7 name.lower [function] [call site] 00091
7 idna.encode [function] [call site] 00092
7 name.lower [function] [call site] 00093
6 host.split [function] [call site] 00094
5 urllib3.util.url._remove_path_dot_segments [function] [call site] 00095
6 path.split [function] [call site] 00096
6 output.append [function] [call site] 00097
6 output.pop [function] [call site] 00098
6 path.startswith [function] [call site] 00099
6 output.insert [function] [call site] 00100
6 path.endswith [function] [call site] 00101
6 output.append [function] [call site] 00102
5 urllib3.util.url._encode_invalid_chars [function] [call site] 00103
5 urllib3.util.url._encode_invalid_chars [function] [call site] 00104
5 urllib3.util.url._encode_invalid_chars [function] [call site] 00105
4 urllib3.poolmanager.PoolManager.connection_from_host [function] [call site] 00106
5 urllib3.poolmanager.PoolManager._merge_pool_kwargs [function] [call site] 00107
6 override.items [function] [call site] 00108
5 port_by_scheme.get [function] [call site] 00109
5 urllib3.poolmanager.PoolManager.connection_from_context [function] [call site] 00110
6 warnings.warn [function] [call site] 00111
6 request_context.pop [function] [call site] 00112
6 urllib3.poolmanager.PoolManager.connection_from_pool_key [function] [call site] 00113
7 _collections.RecentlyUsedContainer.get [function] [call site] 00114
7 urllib3.poolmanager.PoolManager._new_pool [function] [call site] 00115
8 request_context.get [function] [call site] 00116
8 request_context.pop [function] [call site] 00117
8 request_context.pop [function] [call site] 00118
4 urllib3.poolmanager.ProxyManager.connection_from_host [function] [call site] 00119
4 urllib3.poolmanager.PoolManager._proxy_requires_url_absolute_form [function] [call site] 00122
5 urllib3.util.proxy.connection_requires_http_tunnel [function] [call site] 00123
4 conn.urlopen [function] [call site] 00124
4 conn.urlopen [function] [call site] 00125
4 response.get_redirect_location [function] [call site] 00126
4 urllib.parse.urljoin [function] [call site] 00127
4 .isinstance [function] [call site] 00129
4 urllib3.util.retry.Retry.from_int [function] [call site] 00130
5 .isinstance [function] [call site] 00131
5 urllib3.util.retry.Retry.__init__ [function] [call site] 00133
5 log.debug [function] [call site] 00137
4 conn.is_same_host [function] [call site] 00138
4 header.lower [function] [call site] 00139
4 new_headers.pop [function] [call site] 00140
4 retries.increment [function] [call site] 00141
4 response.drain_conn [function] [call site] 00142
4 response.drain_conn [function] [call site] 00144
4 urllib3.poolmanager.PoolManager.urlopen [function] [call site] 00145
4 urllib3.poolmanager.ProxyManager.urlopen [function] [call site] 00146
5 urllib3.util.url.parse_url [function] [call site] 00147
5 urllib3.util.proxy.connection_requires_http_tunnel [function] [call site] 00148
5 urllib3.poolmanager.ProxyManager._set_proxy_headers [function] [call site] 00150
6 urllib3.util.url.parse_url [function] [call site] 00151
6 headers_.update [function] [call site] 00152
3 urllib3.connectionpool.HTTPConnectionPool.urlopen [function] [call site] 00154
4 urllib3.util.url.parse_url [function] [call site] 00155
4 .isinstance [function] [call site] 00156
4 urllib3.util.retry.Retry.from_int [function] [call site] 00157
4 urllib3.connectionpool.HTTPConnectionPool.is_same_host [function] [call site] 00158
5 urllib3.util.url.parse_url [function] [call site] 00159
5 urllib3.connectionpool._normalize_host [function] [call site] 00160
6 urllib3.util.url._normalize_host [function] [call site] 00161
6 host.startswith [function] [call site] 00162
6 host.endswith [function] [call site] 00163
5 port_by_scheme.get [function] [call site] 00164
5 port_by_scheme.get [function] [call site] 00165
4 urllib3.util.url._encode_target [function] [call site] 00166
5 _TARGET_RE.match [function] [call site] 00167
5 match.groups [function] [call site] 00168
5 urllib3.util.url._encode_invalid_chars [function] [call site] 00169
5 urllib3.util.url._encode_invalid_chars [function] [call site] 00170
4 urllib3.util.util.to_str [function] [call site] 00171
4 urllib3.util.util.to_str [function] [call site] 00172
4 urllib3.util.proxy.connection_requires_http_tunnel [function] [call site] 00173
4 headers.copy [function] [call site] 00174
4 headers.update [function] [call site] 00175
4 urllib3.util.request.set_file_position [function] [call site] 00176
5 urllib3.util.request.rewind_body [function] [call site] 00177
6 .isinstance [function] [call site] 00179
5 body.tell [function] [call site] 00181
4 urllib3.connectionpool.HTTPConnectionPool._get_timeout [function] [call site] 00182
5 urllib3.util.timeout.Timeout.clone [function] [call site] 00183
6 urllib3.util.timeout.Timeout.__init__ [function] [call site] 00184
7 urllib3.util.timeout.Timeout._validate_timeout [function] [call site] 00185
7 urllib3.util.timeout.Timeout._validate_timeout [function] [call site] 00188
7 urllib3.util.timeout.Timeout._validate_timeout [function] [call site] 00189
5 .isinstance [function] [call site] 00190
5 urllib3.util.timeout.Timeout.clone [function] [call site] 00191
5 urllib3.util.timeout.Timeout.from_float [function] [call site] 00192
6 urllib3.util.timeout.Timeout.__init__ [function] [call site] 00193
4 urllib3.connectionpool.HTTPConnectionPool._get_conn [function] [call site] 00194
5 urllib3.util.connection.is_connection_dropped [function] [call site] 00195
5 log.debug [function] [call site] 00196
5 conn.close [function] [call site] 00197
5 urllib3.connectionpool.HTTPSConnectionPool._new_conn [function] [call site] 00198
6 log.debug [function] [call site] 00199
5 urllib3.connectionpool.HTTPConnectionPool._new_conn [function] [call site] 00200
6 log.debug [function] [call site] 00201
4 urllib3.connectionpool.HTTPConnectionPool._prepare_proxy [function] [call site] 00202
4 urllib3.connectionpool.HTTPSConnectionPool._prepare_proxy [function] [call site] 00203
5 conn.set_tunnel [function] [call site] 00204
5 conn.connect [function] [call site] 00205
4 urllib3.connectionpool.HTTPConnectionPool._raise_timeout [function] [call site] 00206
5 .isinstance [function] [call site] 00207
4 urllib3.connectionpool.HTTPConnectionPool._make_request [function] [call site] 00209
5 urllib3.connectionpool.HTTPConnectionPool._get_timeout [function] [call site] 00210
5 urllib3.util.timeout.Timeout.start_connect [function] [call site] 00211
6 time.monotonic [function] [call site] 00212
5 urllib3.util.timeout.Timeout.resolve_default_timeout [function] [call site] 00213
6 socket.getdefaulttimeout [function] [call site] 00214
5 urllib3.connectionpool.HTTPSConnectionPool._validate_conn [function] [call site] 00215
6 conn.connect [function] [call site] 00217
6 warnings.warn [function] [call site] 00218
5 urllib3.connectionpool.HTTPConnectionPool._validate_conn [function] [call site] 00219
5 urllib3.connectionpool.HTTPConnectionPool._raise_timeout [function] [call site] 00220
5 .isinstance [function] [call site] 00221
5 .isinstance [function] [call site] 00222
5 urllib3.connection._wrap_proxy_error [function] [call site] 00223
6 urllib3.exceptions.ProxyError.__init__ [function] [call site] 00226
5 conn.request [function] [call site] 00228
5 conn.getresponse [function] [call site] 00229
5 urllib3.connectionpool.HTTPConnectionPool._raise_timeout [function] [call site] 00230
5 log.debug [function] [call site] 00231
4 .isinstance [function] [call site] 00232
4 .isinstance [function] [call site] 00233
4 urllib3.connection._wrap_proxy_error [function] [call site] 00234
4 .isinstance [function] [call site] 00235
4 retries.increment [function] [call site] 00236
4 sys.exc_info [function] [call site] 00237
4 retries.sleep [function] [call site] 00238
4 conn.close [function] [call site] 00239
4 urllib3.connectionpool.HTTPConnectionPool._put_conn [function] [call site] 00240
5 conn.close [function] [call site] 00241
5 log.warning [function] [call site] 00242
5 conn.close [function] [call site] 00243
4 log.warning [function] [call site] 00244
4 urllib3.connectionpool.HTTPConnectionPool.urlopen [function] [call site] 00245
4 response.get_redirect_location [function] [call site] 00246
4 retries.increment [function] [call site] 00247
4 response.drain_conn [function] [call site] 00248
4 response.drain_conn [function] [call site] 00249
4 retries.sleep_for_retry [function] [call site] 00250
4 log.debug [function] [call site] 00251
4 urllib3.connectionpool.HTTPConnectionPool.urlopen [function] [call site] 00252
4 response.headers.get [function] [call site] 00253
4 retries.is_retry [function] [call site] 00255
4 retries.increment [function] [call site] 00256
4 response.drain_conn [function] [call site] 00257
4 response.drain_conn [function] [call site] 00258
4 retries.sleep [function] [call site] 00259
4 log.debug [function] [call site] 00260
4 urllib3.connectionpool.HTTPConnectionPool.urlopen [function] [call site] 00261
3 urllib3.poolmanager.ProxyManager.urlopen [function] [call site] 00262
3 urllib3._request_methods.RequestMethods.urlopen [function] [call site] 00263
2 urllib3._request_methods.RequestMethods.request_encode_body [function] [call site] 00264
3 _collections.HTTPHeaderDict [function] [call site] 00265
3 urllib3.filepost.encode_multipart_formdata [function] [call site] 00266
4 io.BytesIO [function] [call site] 00267
4 urllib3.filepost.choose_boundary [function] [call site] 00268
5 os.urandom [function] [call site] 00269
5 binascii.hexlify [function] [call site] 00270
4 urllib3.filepost.iter_field_objects [function] [call site] 00271
5 .isinstance [function] [call site] 00272
5 fields.items [function] [call site] 00273
5 .isinstance [function] [call site] 00274
5 urllib3.fields.RequestField.from_tuples [function] [call site] 00275
6 .isinstance [function] [call site] 00276
6 typing.cast [function] [call site] 00278
6 typing.cast [function] [call site] 00279
6 urllib3.fields.guess_content_type [function] [call site] 00280
7 mimetypes.guess_type [function] [call site] 00281
6 urllib3.fields.RequestField.__init__ [function] [call site] 00282
6 request_param.make_multipart [function] [call site] 00285
4 io.BytesIO.write [function] [call site] 00286
4 field.render_headers [function] [call site] 00287
4 .isinstance [function] [call site] 00288
4 .isinstance [function] [call site] 00290
4 io.BytesIO.write [function] [call site] 00291
4 io.BytesIO.write [function] [call site] 00292
4 io.BytesIO.write [function] [call site] 00293
4 io.BytesIO.getvalue [function] [call site] 00294
3 urllib.parse.urlencode [function] [call site] 00295
3 extra_kw.update [function] [call site] 00296
3 urllib3.poolmanager.PoolManager.urlopen [function] [call site] 00297
3 urllib3.connectionpool.HTTPConnectionPool.urlopen [function] [call site] 00298
3 urllib3.poolmanager.ProxyManager.urlopen [function] [call site] 00299
3 urllib3._request_methods.RequestMethods.urlopen [function] [call site] 00300