Fuzz introspector: fuzz_packaging
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
34 5 packaging.utils.canonicalize_version call site: {node_id} packaging.version._cmpkey
18 63 ...fuzz_packaging.fuzz_utils call site: {node_id} packaging.version.Version.__init__
7 51 ...fuzz_packaging.fuzz_utils call site: {node_id} packaging.utils.canonicalize_name
3 47 packaging.utils.canonicalize_version call site: {node_id} parts.append
3 59 packaging.utils.canonicalize_name call site: {node_id} packaging.version.Version.__init__
2 85 packaging.tags.Tag.__init__ call site: {node_id} tags.add
2 92 ...fuzz_packaging.fuzz_specifier call site: {node_id} match.group
2 104 packaging.specifiers._coerce_version call site: {node_id} packaging.specifiers.Specifier._get_operator
1 3 ...fuzz_packaging.fuzz_utils call site: {node_id} .isinstance
1 82 packaging.tags.Tag.__init__ call site: {node_id} abi.lower
1 101 ...fuzz_packaging.fuzz_specifier call site: {node_id} packaging.specifiers._coerce_version

Fuzzer calltree

0 ...fuzz_packaging.TestOneInput [function] [call site] 00000
1 ...fuzz_packaging.fuzz_utils [function] [call site] 00001
2 atheris.FuzzedDataProvider [function] [call site] 00002
2 packaging.utils.canonicalize_version [function] [call site] 00003
3 .isinstance [function] [call site] 00004
3 packaging.version.Version.__init__ [function] [call site] 00005
4 match.group [function] [call site] 00006
4 match.group [function] [call site] 00007
4 match.group [function] [call site] 00010
4 match.group [function] [call site] 00012
4 match.group [function] [call site] 00013
4 packaging.version._parse_letter_version [function] [call site] 00014
4 packaging.version._parse_letter_version [function] [call site] 00018
4 match.group [function] [call site] 00019
4 match.group [function] [call site] 00020
4 match.group [function] [call site] 00021
4 match.group [function] [call site] 00022
4 match.group [function] [call site] 00023
4 packaging.version._parse_letter_version [function] [call site] 00024
4 match.group [function] [call site] 00025
4 packaging.version._parse_local_version [function] [call site] 00026
5 part.isdigit [function] [call site] 00028
5 part.lower [function] [call site] 00029
5 _local_version_separators.split [function] [call site] 00031
4 packaging.version._cmpkey [function] [call site] 00032
3 parts.append [function] [call site] 00040
3 parts.append [function] [call site] 00043
3 parts.append [function] [call site] 00045
3 parts.append [function] [call site] 00046
3 parts.append [function] [call site] 00047
3 parts.append [function] [call site] 00048
2 fdp.ConsumeIntInRange [function] [call site] 00049
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00050
2 packaging.utils.parse_sdist_filename [function] [call site] 00051
3 filename.endswith [function] [call site] 00052
3 filename.endswith [function] [call site] 00054
3 file_stem.rpartition [function] [call site] 00056
3 packaging.utils.canonicalize_name [function] [call site] 00057
4 _canonicalize_regex.sub [function] [call site] 00058
4 typing.cast [function] [call site] 00059
3 packaging.version.Version.__init__ [function] [call site] 00060
2 fdp.ConsumeIntInRange [function] [call site] 00061
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00062
2 packaging.utils.parse_wheel_filename [function] [call site] 00063
3 filename.endswith [function] [call site] 00064
3 filename.count [function] [call site] 00065
3 filename.split [function] [call site] 00066
3 packaging.utils.canonicalize_name [function] [call site] 00068
3 packaging.version.Version.__init__ [function] [call site] 00069
3 _build_tag_regex.match [function] [call site] 00070
3 build_match.group [function] [call site] 00071
3 build_match.group [function] [call site] 00073
3 typing.cast [function] [call site] 00074
3 packaging.tags.parse_tag [function] [call site] 00075
4 tag.split [function] [call site] 00077
4 interpreters.split [function] [call site] 00078
4 abis.split [function] [call site] 00079
4 platforms.split [function] [call site] 00080
4 packaging.tags.Tag.__init__ [function] [call site] 00081
5 interpreter.lower [function] [call site] 00082
5 abi.lower [function] [call site] 00083
5 platform.lower [function] [call site] 00084
4 .frozenset [function] [call site] 00087
2 fdp.ConsumeIntInRange [function] [call site] 00088
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00089
1 ...fuzz_packaging.fuzz_specifier [function] [call site] 00090
2 atheris.FuzzedDataProvider [function] [call site] 00091
2 packaging.specifiers.Specifier.__init__ [function] [call site] 00092
3 match.group [function] [call site] 00093
3 match.group [function] [call site] 00094
2 fdp.ConsumeIntInRange [function] [call site] 00095
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00096
2 packaging.specifiers.Specifier.__init__ [function] [call site] 00097
2 fdp.ConsumeIntInRange [function] [call site] 00098
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00099
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00100
2 packaging.specifiers.Specifier.contains [function] [call site] 00101
3 packaging.specifiers._coerce_version [function] [call site] 00102
4 .isinstance [function] [call site] 00103
4 packaging.version.Version.__init__ [function] [call site] 00104
3 packaging.specifiers.Specifier._get_operator [function] [call site] 00105