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
159 154 urllib3.util.retry.Retry.__init__ call site: {node_id} urllib3._request_methods.RequestMethods.request_encode_body
64 4 urllib3.poolmanager.PoolManager.__init__ call site: {node_id} urllib3._request_methods.RequestMethods.request
37 115 urllib3.util.url.parse_url call site: {node_id} urllib3.poolmanager.PoolManager.urlopen
2 100 urllib3.util.url._idna_encode call site: {node_id} name.lower
1 0 EP call site: {node_id} urllib3.poolmanager.PoolManager.__init__
1 84 urllib3.util.url._encode_invalid_chars call site: {node_id} byte.decode
1 98 urllib3.util.url._normalize_host call site: {node_id} urllib3.util.url._idna_encode
1 103 urllib3.util.url._idna_encode call site: {node_id} host.split

Fuzzer calltree

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