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
7 19 httpx._urlparse.percent_encode call site: {node_id} httpx._urlparse.quote
6 7 httpx._urlparse.urlparse call site: {node_id} httpx._urlparse.quote
4 27 httpx._urlparse.urlparse call site: {node_id} .len
3 0 EP call site: {node_id} httpx._urlparse.urlparse
2 66 httpx._urlparse.urlparse call site: {node_id} httpx._urlparse.quote
1 17 httpx._urlparse.is_safe call site: {node_id} httpx._urlparse.percent_encode

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 char.isascii [function] [call site] 00005
2 char.isprintable [function] [call site] 00006
2 .isinstance [function] [call site] 00008
2 kwargs.pop [function] [call site] 00010
2 netloc.partition [function] [call site] 00011
2 kwargs.pop [function] [call site] 00012
2 httpx._urlparse.quote [function] [call site] 00013
3 httpx._urlparse.is_safe [function] [call site] 00014
4 string.count [function] [call site] 00015
4 PERCENT_ENCODED_REGEX.findall [function] [call site] 00016
3 httpx._urlparse.percent_encode [function] [call site] 00018
4 char.encode [function] [call site] 00019
2 kwargs.pop [function] [call site] 00020
2 httpx._urlparse.quote [function] [call site] 00021
2 kwargs.pop [function] [call site] 00022
2 raw_path.partition [function] [call site] 00023
2 kwargs.get [function] [call site] 00024
2 host.startswith [function] [call site] 00025
2 host.endswith [function] [call site] 00026
2 kwargs.items [function] [call site] 00027
2 char.isascii [function] [call site] 00029
2 char.isprintable [function] [call site] 00030
2 URL_REGEX.match [function] [call site] 00032
2 url_match.groupdict [function] [call site] 00033
2 kwargs.get [function] [call site] 00034
2 kwargs.get [function] [call site] 00035
2 kwargs.get [function] [call site] 00036
2 kwargs.get [function] [call site] 00037
2 kwargs.get [function] [call site] 00038
2 AUTHORITY_REGEX.match [function] [call site] 00039
2 authority_match.groupdict [function] [call site] 00040
2 kwargs.get [function] [call site] 00041
2 kwargs.get [function] [call site] 00042
2 kwargs.get [function] [call site] 00043
2 scheme.lower [function] [call site] 00044
2 httpx._urlparse.quote [function] [call site] 00045
2 httpx._urlparse.encode_host [function] [call site] 00046
3 IPv4_STYLE_HOSTNAME.match [function] [call site] 00047
3 ipaddress.IPv4Address [function] [call site] 00048
3 IPv6_STYLE_HOSTNAME.match [function] [call site] 00049
3 ipaddress.IPv6Address [function] [call site] 00050
3 host.isascii [function] [call site] 00051
3 host.lower [function] [call site] 00052
3 httpx._urlparse.quote [function] [call site] 00053
3 host.lower [function] [call site] 00054
3 idna.encode [function] [call site] 00055
2 httpx._urlparse.normalize_port [function] [call site] 00056
2 httpx._urlparse.validate_path [function] [call site] 00058
3 path.startswith [function] [call site] 00059
3 path.startswith [function] [call site] 00060
3 path.startswith [function] [call site] 00061
2 httpx._urlparse.normalize_path [function] [call site] 00062
3 path.split [function] [call site] 00063
3 output.pop [function] [call site] 00064
3 output.append [function] [call site] 00065
2 httpx._urlparse.quote [function] [call site] 00066
2 httpx._urlparse.quote [function] [call site] 00067
2 httpx._urlparse.quote [function] [call site] 00068
2 typing.NamedTuple.__init__ [function] [call site] 00069