Fuzz introspector: fuzz_metadata
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
184 0 EP call site: 00000 distlib.metadata.Metadata.__init__

Fuzzer calltree

0 ...fuzz_metadata.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 distlib.metadata.LegacyMetadata.__init__ [function] [call site] 00002
2 distlib.metadata.LegacyMetadata.read [function] [call site] 00003
3 codecs.open [function] [call site] 00004
3 distlib.metadata.LegacyMetadata.read_file [function] [call site] 00005
4 email.message_from_file [function] [call site] 00006
4 email.message_from_file.get_all [function] [call site] 00007
4 value.split [function] [call site] 00008
4 <builtin>.tuple [function] [call site] 00009
4 distlib.metadata.LegacyMetadata.set [function] [call site] 00010
5 distlib.metadata.LegacyMetadata._convert_name [function] [call site] 00011
6 name.replace [function] [call site] 00012
6 _ATTR2FIELD.get [function] [call site] 00013
5 <builtin>.isinstance [function] [call site] 00014
5 <builtin>.isinstance [function] [call site] 00015
5 value.split [function] [call site] 00017
5 <builtin>.isinstance [function] [call site] 00018
5 <builtin>.isinstance [function] [call site] 00019
5 logger.isEnabledFor [function] [call site] 00020
5 distlib.version.get_scheme [function] [call site] 00021
5 distlib.version.VersionScheme.is_valid_matcher [function] [call site] 00023
6 distlib.version.Matcher.__init__ [function] [call site] 00024
7 distlib.version.Matcher.parse_requirement [function] [call site] 00026
8 distlib.version.Matcher.parse_requirement [function] [call site] 00027
7 s.endswith [function] [call site] 00028
7 distlib.version.Version.__init__ [function] [call site] 00029
8 distlib.version.LegacyVersion.parse [function] [call site] 00031
9 distlib.version._legacy_key [function] [call site] 00032
10 distlib.version._legacy_key.get_parts [function] [call site] 00033
11 _VERSION_PART.split [function] [call site] 00035
11 _VERSION_REPLACE.get [function] [call site] 00036
11 result.append [function] [call site] 00038
11 result.append [function] [call site] 00039
10 p.startswith [function] [call site] 00040
10 result.pop [function] [call site] 00041
10 result.pop [function] [call site] 00042
10 result.append [function] [call site] 00043
10 <builtin>.tuple [function] [call site] 00044
8 distlib.version.NormalizedVersion.parse [function] [call site] 00045
9 distlib.version._pep_440_key [function] [call site] 00046
10 PEP440_VERSION_RE.match [function] [call site] 00048
10 m.groups [function] [call site] 00049
10 <builtin>.int [function] [call site] 00050
10 <builtin>.tuple [function] [call site] 00051
10 <builtin>.len [function] [call site] 00052
10 <builtin>.int [function] [call site] 00053
10 <builtin>.int [function] [call site] 00054
10 <builtin>.int [function] [call site] 00055
10 <builtin>.int [function] [call site] 00056
10 local.split [function] [call site] 00057
10 part.isdigit [function] [call site] 00058
10 <builtin>.int [function] [call site] 00059
10 parts.append [function] [call site] 00060
10 <builtin>.tuple [function] [call site] 00061
9 PEP440_VERSION_RE.match [function] [call site] 00062
9 <builtin>.int [function] [call site] 00064
9 <builtin>.tuple [function] [call site] 00065
8 distlib.version.SemanticVersion.parse [function] [call site] 00066
9 distlib.version._semantic_key [function] [call site] 00067
10 distlib.version.is_semver [function] [call site] 00068
11 _SEMVER_RE.match [function] [call site] 00069
10 m.groups [function] [call site] 00070
10 <builtin>.int [function] [call site] 00071
10 distlib.version._semantic_key.make_tuple [function] [call site] 00072
11 p.isdigit [function] [call site] 00073
11 <builtin>.tuple [function] [call site] 00075
10 distlib.version._semantic_key.make_tuple [function] [call site] 00076
8 <builtin>.isinstance [function] [call site] 00077
8 <builtin>.len [function] [call site] 00078
7 distlib.version.Version.__init__ [function] [call site] 00079
7 distlib.version.Version.__init__ [function] [call site] 00080
7 distlib.version.Version.__init__ [function] [call site] 00081
7 distlib.version.Version.__init__ [function] [call site] 00082
7 distlib.version.Version.__init__ [function] [call site] 00083
7 clist.append [function] [call site] 00084
7 <builtin>.tuple [function] [call site] 00085
6 distlib.version.Matcher.__init__ [function] [call site] 00086
6 distlib.version.Matcher.__init__ [function] [call site] 00087
5 logger.warning [function] [call site] 00088
5 distlib.version.VersionScheme.is_valid_constraint_list [function] [call site] 00089
6 s.endswith [function] [call site] 00090
6 distlib.version.VersionScheme.is_valid_matcher [function] [call site] 00091
5 logger.warning [function] [call site] 00092
5 distlib.version.VersionScheme.is_valid_version [function] [call site] 00093
6 distlib.version.Version.__init__ [function] [call site] 00094
6 distlib.version.Version.__init__ [function] [call site] 00095
6 distlib.version.Version.__init__ [function] [call site] 00096
5 logger.warning [function] [call site] 00097
5 distlib.metadata.LegacyMetadata._remove_line_prefix [function] [call site] 00098
6 _LINE_PREFIX_PRE_1_2.sub [function] [call site] 00099
6 _LINE_PREFIX_1_2.sub [function] [call site] 00100
4 distlib.metadata.LegacyMetadata.set [function] [call site] 00101
4 email.message_from_file.get_payload [function] [call site] 00102
2 distlib.metadata.LegacyMetadata.read_file [function] [call site] 00104
2 distlib.metadata.LegacyMetadata.update [function] [call site] 00105
3 <builtin>.hasattr [function] [call site] 00106
3 other.keys [function] [call site] 00107
3 distlib.metadata.LegacyMetadata.update._set [function] [call site] 00108
4 distlib.metadata.LegacyMetadata._convert_name [function] [call site] 00109
4 distlib.metadata.LegacyMetadata.set [function] [call site] 00110
3 distlib.metadata.LegacyMetadata.update._set [function] [call site] 00111
3 kwargs.items [function] [call site] 00112
3 distlib.metadata.LegacyMetadata.update._set [function] [call site] 00113
2 distlib.metadata.LegacyMetadata.set_metadata_version [function] [call site] 00114
3 distlib.metadata._best_version [function] [call site] 00115
4 fields.items [function] [call site] 00116
4 possible_versions.remove [function] [call site] 00117
4 logger.debug [function] [call site] 00118
4 possible_versions.remove [function] [call site] 00119
4 logger.debug [function] [call site] 00120
4 possible_versions.remove [function] [call site] 00121
4 logger.debug [function] [call site] 00122
4 possible_versions.remove [function] [call site] 00123
4 logger.debug [function] [call site] 00124
4 possible_versions.remove [function] [call site] 00125
4 logger.debug [function] [call site] 00126
4 possible_versions.remove [function] [call site] 00127
4 logger.debug [function] [call site] 00128
4 <builtin>.len [function] [call site] 00129
4 <builtin>.len [function] [call site] 00130
4 logger.debug [function] [call site] 00131
4 distlib.metadata._best_version._has_marker [function] [call site] 00132
5 <builtin>.any [function] [call site] 00133
4 distlib.metadata._best_version._has_marker [function] [call site] 00134
4 distlib.metadata._best_version._has_marker [function] [call site] 00135
4 distlib.metadata._best_version._has_marker [function] [call site] 00136
4 <builtin>.int [function] [call site] 00137
4 <builtin>.int [function] [call site] 00138
4 <builtin>.int [function] [call site] 00139
4 <builtin>.int [function] [call site] 00140
1 fdp.ConsumeIntInRange [function] [call site] 00141
1 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00142
1 StringIO.StringIO [function] [call site] 00143
1 io.StringIO [function] [call site] 00144
1 distlib.metadata.LegacyMetadata.read_file [function] [call site] 00145
1 fdp.ConsumeIntInRange [function] [call site] 00146
1 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00147
1 StringIO.StringIO [function] [call site] 00148
1 io.StringIO [function] [call site] 00149
1 distlib.metadata.Metadata.__init__ [function] [call site] 00150
2 distlib.metadata.Metadata._validate_mapping [function] [call site] 00151
3 mapping.get [function] [call site] 00152
3 missing.append [function] [call site] 00153
3 mapping.items [function] [call site] 00154
3 distlib.metadata.Metadata._validate_value [function] [call site] 00155
4 pattern.match [function] [call site] 00156
2 distlib.metadata.LegacyMetadata.__init__ [function] [call site] 00157
2 distlib.metadata.Metadata.validate [function] [call site] 00158
3 distlib.metadata.LegacyMetadata.check [function] [call site] 00159
4 distlib.metadata.LegacyMetadata.set_metadata_version [function] [call site] 00160
4 missing.append [function] [call site] 00161
4 missing.append [function] [call site] 00162
4 distlib.version.get_scheme [function] [call site] 00163
4 distlib.metadata.LegacyMetadata.get [function] [call site] 00164
5 distlib.metadata.LegacyMetadata._convert_name [function] [call site] 00165
5 distlib.metadata.LegacyMetadata._default_value [function] [call site] 00166
5 res.append [function] [call site] 00167
5 res.append [function] [call site] 00168
5 <builtin>.isinstance [function] [call site] 00169
5 value.split [function] [call site] 00170
4 warnings.append [function] [call site] 00171
3 logger.warning [function] [call site] 00172
3 distlib.metadata.Metadata._validate_mapping [function] [call site] 00173
2 <builtin>.open [function] [call site] 00174
2 StringIO.StringIO.read [function] [call site] 00176
2 <builtin>.isinstance [function] [call site] 00177
2 data.decode [function] [call site] 00178
2 json.loads [function] [call site] 00179
2 distlib.metadata.Metadata._validate_mapping [function] [call site] 00180
2 StringIO.StringIO [function] [call site] 00181
2 io.StringIO [function] [call site] 00182
2 distlib.metadata.LegacyMetadata.__init__ [function] [call site] 00183
2 distlib.metadata.Metadata.validate [function] [call site] 00184