Fuzz introspector: fuzz_rfc3986
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
30 130 ...fuzz_rfc3986.fuzz_validators call site: 00130 rfc3986.validators.ensure_components_are_valid
17 36 rfc3986._mixin.URIMixin.authority_info call site: 00036 rfc3986.parseresult.split_authority
13 17 rfc3986.compat.to_bytes call site: 00017 rfc3986.parseresult.authority_from
11 54 ...fuzz_rfc3986.fuzz_parseresult call site: 00054 rfc3986.parseresult.authority_from
8 7 rfc3986.compat.to_str call site: 00007 rfc3986.normalizers.encode_component
5 76 ...fuzz_rfc3986.fuzz_normalizers call site: 00076 PERCENT_MATCHER.findall
2 3 ...fuzz_rfc3986.fuzz_parseresult call site: 00003 rfc3986.uri.URIReference.from_string
2 175 ...fuzz_rfc3986.fuzz_validators call site: 00175 c.lower
2 179 ...fuzz_rfc3986.fuzz_validators call site: 00179 c.lower
1 31 rfc3986._mixin.URIMixin.authority_info call site: 00031 misc.SUBAUTHORITY_MATCHER.match
1 72 rfc3986.normalizers.normalize_host call site: 00072 .len
1 84 ...fuzz_rfc3986.fuzz_normalizers call site: 00084 scheme.lower

Fuzzer calltree

0 ...fuzz_rfc3986.TestOneInput [function] [call site] 00000
1 ...fuzz_rfc3986.fuzz_parseresult [function] [call site] 00001
2 atheris.FuzzedDataProvider [function] [call site] 00002
2 rfc3986.parseresult.ParseResult.from_string [function] [call site] 00003
3 rfc3986.uri.URIReference.from_string [function] [call site] 00004
4 rfc3986.compat.to_str [function] [call site] 00005
5 <builtin>.hasattr [function] [call site] 00006
5 <builtin>.isinstance [function] [call site] 00007
4 misc.URI_MATCHER.match [function] [call site] 00009
4 typing.NamedTuple.__init__ [function] [call site] 00010
4 rfc3986.normalizers.encode_component [function] [call site] 00011
5 <builtin>.len [function] [call site] 00012
5 rfc3986.compat.to_str [function] [call site] 00013
5 PERCENT_MATCHER.findall [function] [call site] 00014
5 rfc3986.compat.to_bytes [function] [call site] 00015
6 <builtin>.hasattr [function] [call site] 00016
6 <builtin>.isinstance [function] [call site] 00017
5 <builtin>.bytearray [function] [call site] 00018
5 <builtin>.len [function] [call site] 00019
5 <builtin>.range [function] [call site] 00020
5 <builtin>.ord [function] [call site] 00021
5 byte.decode [function] [call site] 00022
5 encoded_uri.extend [function] [call site] 00023
5 encoded_uri.extend [function] [call site] 00024
5 encoded_uri.decode [function] [call site] 00025
4 rfc3986.normalizers.encode_component [function] [call site] 00026
4 rfc3986.normalizers.encode_component [function] [call site] 00027
3 reference.normalize [function] [call site] 00028
3 rfc3986.parseresult.authority_from [function] [call site] 00029
4 rfc3986._mixin.URIMixin.authority_info [function] [call site] 00030
5 rfc3986._mixin.URIMixin._match_subauthority [function] [call site] 00031
6 misc.SUBAUTHORITY_MATCHER.match [function] [call site] 00032
5 rfc3986.iri.IRIReference._match_subauthority [function] [call site] 00033
6 misc.ISUBAUTHORITY_MATCHER.match [function] [call site] 00034
5 match.groupdict [function] [call site] 00035
5 matches.get [function] [call site] 00036
5 misc.IPv4_MATCHER.match [function] [call site] 00037
5 rfc3986.validators.valid_ipv4_host_address [function] [call site] 00038
6 <builtin>.int [function] [call site] 00039
6 <builtin>.all [function] [call site] 00040
4 rfc3986.parseresult.split_authority [function] [call site] 00041
5 typing.NamedTuple.authority.rsplit [function] [call site] 00042
5 typing.NamedTuple.authority.startswith [function] [call site] 00043
5 typing.NamedTuple.authority.split [function] [call site] 00044
5 typing.NamedTuple.authority.split [function] [call site] 00045
4 subauthority.get [function] [call site] 00046
4 subauthority.get [function] [call site] 00047
4 subauthority.get [function] [call site] 00048
4 port.isascii [function] [call site] 00049
4 port.isdigit [function] [call site] 00050
4 <builtin>.int [function] [call site] 00051
3 collections.namedtuple.__init__ [function] [call site] 00052
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00053
2 rfc3986.parseresult.ParseResultBytes.from_string [function] [call site] 00054
3 rfc3986.uri.URIReference.from_string [function] [call site] 00055
3 reference.normalize [function] [call site] 00056
3 rfc3986.parseresult.authority_from [function] [call site] 00057
3 collections.namedtuple.__init__ [function] [call site] 00058
3 rfc3986.compat.to_bytes [function] [call site] 00059
3 rfc3986.compat.to_bytes [function] [call site] 00060
3 rfc3986.compat.to_bytes [function] [call site] 00061
3 rfc3986.compat.to_bytes [function] [call site] 00062
3 rfc3986.compat.to_bytes [function] [call site] 00063
3 rfc3986.compat.to_bytes [function] [call site] 00064
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00065
1 ...fuzz_rfc3986.fuzz_normalizers [function] [call site] 00066
2 atheris.FuzzedDataProvider [function] [call site] 00067
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00068
2 rfc3986.normalizers.normalize_host [function] [call site] 00069
3 misc.IPv6_MATCHER.match [function] [call site] 00070
3 host.find [function] [call site] 00071
3 host.find [function] [call site] 00072
3 <builtin>.len [function] [call site] 00073
3 host.replace [function] [call site] 00074
3 host.lower [function] [call site] 00075
2 rfc3986.normalizers.normalize_percent_characters [function] [call site] 00076
3 PERCENT_MATCHER.findall [function] [call site] 00077
3 <builtin>.set [function] [call site] 00078
3 m.isupper [function] [call site] 00079
3 urllib.parse.urlencode.replace [function] [call site] 00081
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00082
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00083
2 rfc3986.normalizers.normalize_scheme [function] [call site] 00084
3 scheme.lower [function] [call site] 00085
1 ...fuzz_rfc3986.fuzz_uri [function] [call site] 00086
2 atheris.FuzzedDataProvider [function] [call site] 00087
2 rfc3986.uri.URIReference.from_string [function] [call site] 00088
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00089
2 uri.is_valid [function] [call site] 00090
2 uri.is_absolute [function] [call site] 00091
1 ...fuzz_rfc3986.fuzz_iri [function] [call site] 00092
2 atheris.FuzzedDataProvider [function] [call site] 00093
2 rfc3986.iri.IRIReference.from_string [function] [call site] 00094
3 rfc3986.compat.to_str [function] [call site] 00095
3 misc.IRI_MATCHER.match [function] [call site] 00096
3 typing.NamedTuple.__init__ [function] [call site] 00097
3 rfc3986.normalizers.encode_component [function] [call site] 00098
3 rfc3986.normalizers.encode_component [function] [call site] 00099
3 rfc3986.normalizers.encode_component [function] [call site] 00100
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00101
1 ...fuzz_rfc3986.fuzz_api [function] [call site] 00102
2 atheris.FuzzedDataProvider [function] [call site] 00103
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00104
2 rfc3986.api.uri_reference [function] [call site] 00105
3 rfc3986.uri.URIReference.from_string [function] [call site] 00106
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00107
2 rfc3986.api.iri_reference [function] [call site] 00108
3 rfc3986.iri.IRIReference.from_string [function] [call site] 00109
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00110
2 rfc3986.api.is_valid_uri [function] [call site] 00111
3 rfc3986.uri.URIReference.from_string [function] [call site] 00112
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00113
2 rfc3986.api.normalize_uri [function] [call site] 00114
3 rfc3986.uri.URIReference.from_string [function] [call site] 00115
3 normalized_reference.unsplit [function] [call site] 00116
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00117
2 rfc3986.api.urlparse [function] [call site] 00118
3 rfc3986.parseresult.ParseResult.from_string [function] [call site] 00119
1 ...fuzz_rfc3986.fuzz_validators [function] [call site] 00120
2 atheris.FuzzedDataProvider [function] [call site] 00121
2 rfc3986.uri.URIReference.from_string [function] [call site] 00122
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00123
2 uri.is_valid [function] [call site] 00124
2 rfc3986.validators.Validator.__init__ [function] [call site] 00125
3 <builtin>.set [function] [call site] 00126
3 <builtin>.set [function] [call site] 00127
3 <builtin>.set [function] [call site] 00128
2 rfc3986.validators.Validator.forbid_use_of_password [function] [call site] 00129
2 rfc3986.validators.Validator.validate [function] [call site] 00130
3 rfc3986.validators.check_password [function] [call site] 00131
4 userinfo.split [function] [call site] 00132
4 <builtin>.len [function] [call site] 00133
3 rfc3986.validators.ensure_required_components_exist [function] [call site] 00134
4 <builtin>.sorted [function] [call site] 00135
4 <builtin>.getattr [function] [call site] 00136
3 rfc3986.validators.ensure_components_are_valid [function] [call site] 00137
4 <builtin>.set [function] [call site] 00138
4 rfc3986.validators.subauthority_component_is_valid [function] [call site] 00139
5 uri.authority_info [function] [call site] 00140
5 rfc3986.validators.host_is_valid [function] [call site] 00141
6 rfc3986.validators.is_valid [function] [call site] 00142
7 matcher.match [function] [call site] 00143
7 <builtin>.bool [function] [call site] 00144
7 matcher.match [function] [call site] 00145
7 <builtin>.bool [function] [call site] 00146
6 misc.IPv4_MATCHER.match [function] [call site] 00147
6 rfc3986.validators.valid_ipv4_host_address [function] [call site] 00148
6 misc.IPv6_MATCHER.match [function] [call site] 00149
6 misc.IPv6_NO_RFC4007_MATCHER.match [function] [call site] 00150
5 port.isdigit [function] [call site] 00151
5 <builtin>.len [function] [call site] 00152
5 <builtin>.int [function] [call site] 00153
4 invalid_components.add [function] [call site] 00154
4 <builtin>.getattr [function] [call site] 00155
4 invalid_components.add [function] [call site] 00156
3 rfc3986.validators.ensure_one_of [function] [call site] 00157
4 <builtin>.getattr [function] [call site] 00158
3 rfc3986.validators.ensure_one_of [function] [call site] 00159
3 rfc3986.validators.ensure_one_of [function] [call site] 00160
2 rfc3986.validators.Validator.__init__ [function] [call site] 00161
2 rfc3986.validators.Validator.validate [function] [call site] 00162
2 rfc3986.validators.Validator.__init__ [function] [call site] 00163
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00164
2 rfc3986.validators.Validator.allow_schemes [function] [call site] 00165
3 rfc3986.normalizers.normalize_scheme [function] [call site] 00166
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00167
2 rfc3986.validators.Validator.allow_hosts [function] [call site] 00168
3 rfc3986.normalizers.normalize_host [function] [call site] 00169
2 fdp.ConsumeIntInRange [function] [call site] 00170
2 <builtin>.str [function] [call site] 00171
2 rfc3986.validators.Validator.allow_ports [function] [call site] 00172
3 <builtin>.int [function] [call site] 00173
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00174
2 rfc3986.validators.Validator.require_presence_of [function] [call site] 00175
3 <builtin>.tuple [function] [call site] 00177
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00178
2 rfc3986.validators.Validator.check_validity_of [function] [call site] 00179
3 <builtin>.tuple [function] [call site] 00181
2 rfc3986.validators.Validator.validate [function] [call site] 00182