Fuzz introspector: fuzz_url
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
16 34 httpx._urlparse.urlparse call site: {node_id} kwargs.get
7 26 httpx._urlparse.quote call site: {node_id} httpx._urlparse.quote
5 10 httpx._urlparse.urlparse call site: {node_id} urllib.parse.urljoin.find
3 17 httpx._urlparse.urlparse call site: {node_id} re.finditer
3 65 httpx._urlparse.encode_host call site: {node_id} httpx._urlparse.quote
3 74 httpx._urlparse.validate_path call site: {node_id} httpx._urlparse.normalize_path
3 78 httpx._urlparse.normalize_path call site: {node_id} httpx._urlparse.quote
2 55 httpx._urlparse.urlparse call site: {node_id} kwargs.get
1 23 httpx._urlparse.percent_encoded call site: {node_id} httpx._urlparse.PERCENT
1 53 httpx._urlparse.urlparse call site: {node_id} AUTHORITY_REGEX.match
1 61 httpx._urlparse.urlparse call site: {node_id} IPv4_STYLE_HOSTNAME.match
1 63 httpx._urlparse.encode_host call site: {node_id} IPv6_STYLE_HOSTNAME.match

Fuzzer calltree

0 ...fuzz_url.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00002
1 httpx._urlparse.urlparse [function] [call site] 00003
2 <builtin>.len [function] [call site] 00004
2 char.isascii [function] [call site] 00005
2 char.isprintable [function] [call site] 00006
2 <builtin>.any [function] [call site] 00007
2 char.isascii [function] [call site] 00008
2 char.isprintable [function] [call site] 00009
2 <builtin>.next [function] [call site] 00010
2 urllib.parse.urljoin.find [function] [call site] 00011
2 <builtin>.isinstance [function] [call site] 00012
2 <builtin>.str [function] [call site] 00013
2 kwargs.pop [function] [call site] 00014
2 netloc.partition [function] [call site] 00015
2 kwargs.pop [function] [call site] 00016
2 httpx._urlparse.quote [function] [call site] 00017
3 re.finditer [function] [call site] 00018
3 match.start [function] [call site] 00019
3 match.end [function] [call site] 00020
3 match.group [function] [call site] 00021
3 httpx._urlparse.percent_encoded [function] [call site] 00022
4 string.rstrip [function] [call site] 00023
4 httpx._urlparse.PERCENT [function] [call site] 00024
5 string.encode [function] [call site] 00025
3 parts.append [function] [call site] 00026
3 parts.append [function] [call site] 00027
3 <builtin>.len [function] [call site] 00028
3 httpx._urlparse.percent_encoded [function] [call site] 00029
3 parts.append [function] [call site] 00030
2 kwargs.pop [function] [call site] 00031
2 httpx._urlparse.quote [function] [call site] 00032
2 kwargs.pop [function] [call site] 00033
2 raw_path.partition [function] [call site] 00034
2 kwargs.get [function] [call site] 00035
2 host.startswith [function] [call site] 00036
2 host.endswith [function] [call site] 00037
2 kwargs.items [function] [call site] 00038
2 <builtin>.len [function] [call site] 00039
2 char.isascii [function] [call site] 00040
2 char.isprintable [function] [call site] 00041
2 <builtin>.any [function] [call site] 00042
2 <builtin>.next [function] [call site] 00043
2 char.isascii [function] [call site] 00044
2 char.isprintable [function] [call site] 00045
2 value.find [function] [call site] 00046
2 URL_REGEX.match [function] [call site] 00047
2 url_match.groupdict [function] [call site] 00048
2 kwargs.get [function] [call site] 00049
2 kwargs.get [function] [call site] 00050
2 kwargs.get [function] [call site] 00051
2 kwargs.get [function] [call site] 00052
2 kwargs.get [function] [call site] 00053
2 AUTHORITY_REGEX.match [function] [call site] 00054
2 authority_match.groupdict [function] [call site] 00055
2 kwargs.get [function] [call site] 00056
2 kwargs.get [function] [call site] 00057
2 kwargs.get [function] [call site] 00058
2 scheme.lower [function] [call site] 00059
2 httpx._urlparse.quote [function] [call site] 00060
2 httpx._urlparse.encode_host [function] [call site] 00061
3 IPv4_STYLE_HOSTNAME.match [function] [call site] 00062
3 ipaddress.IPv4Address [function] [call site] 00063
3 IPv6_STYLE_HOSTNAME.match [function] [call site] 00064
3 ipaddress.IPv6Address [function] [call site] 00065
3 host.isascii [function] [call site] 00066
3 host.lower [function] [call site] 00067
3 httpx._urlparse.quote [function] [call site] 00068
3 host.lower [function] [call site] 00069
3 idna.encode [function] [call site] 00070
2 httpx._urlparse.normalize_port [function] [call site] 00071
3 <builtin>.int [function] [call site] 00072
2 httpx._urlparse.validate_path [function] [call site] 00073
3 path.startswith [function] [call site] 00074
3 path.startswith [function] [call site] 00075
3 path.startswith [function] [call site] 00076
2 httpx._urlparse.normalize_path [function] [call site] 00077
3 path.split [function] [call site] 00078
3 output.pop [function] [call site] 00079
3 output.append [function] [call site] 00080
2 httpx._urlparse.quote [function] [call site] 00081
2 httpx._urlparse.quote [function] [call site] 00082
2 httpx._urlparse.quote [function] [call site] 00083
2 typing.NamedTuple.__init__ [function] [call site] 00084