Fuzz introspector: fuzz_mime
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
35 45 xdg.Mime.MagicDB.merge_file call site: {node_id} xdg.Mime.MagicMatchAny.from_file
7 94 xdg.Mime.get_type2 call site: {node_id} xdg.Mime._get_type_by_stat
6 31 xdg.Mime.GlobDB.finalise call site: {node_id} mtype.canonical
3 90 xdg.Mime.get_type2 call site: {node_id} xdg.Mime.get_type_by_name
2 13 xdg.BaseDirectory.load_data_paths call site: {node_id} .open
2 82 xdg.Mime.MagicDB.finalise call site: {node_id} rule.maxlen
2 86 xdg.Mime._cache_database call site: {node_id} .open
2 126 ...fuzz_mime.TestOneInput call site: {node_id} .str
1 19 xdg.Mime._cache_database call site: {node_id} xdg.Mime.GlobDB.merge_file
1 41 xdg.Mime._cache_database call site: {node_id} xdg.Mime.MagicDB.merge_file
1 103 xdg.Mime.get_type2 call site: {node_id} .len
1 111 xdg.Mime._is_text call site: {node_id} .any

Fuzzer calltree

0 ...fuzz_mime.TestOneInput [function] [call site] 00000
1 os.getcwd [function] [call site] 00001
1 os.path.join [function] [call site] 00002
1 xdg.Mime.get_type2 [function] [call site] 00005
2 xdg.Mime.update_cache [function] [call site] 00006
3 xdg.Mime._cache_database [function] [call site] 00007
4 collections.defaultdict [function] [call site] 00008
4 os.path.join [function] [call site] 00009
4 xdg.BaseDirectory.load_data_paths [function] [call site] 00010
5 os.path.join [function] [call site] 00011
5 os.path.join [function] [call site] 00012
5 os.path.exists [function] [call site] 00013
4 line.strip [function] [call site] 00015
4 xdg.Mime.GlobDB.__init__ [function] [call site] 00016
5 collections.defaultdict [function] [call site] 00017
4 os.path.join [function] [call site] 00018
4 xdg.BaseDirectory.load_data_paths [function] [call site] 00019
4 xdg.Mime.GlobDB.merge_file [function] [call site] 00020
5 line.startswith [function] [call site] 00022
5 xdg.Mime.lookup [function] [call site] 00024
5 collections.defaultdict.pop [function] [call site] 00026
4 xdg.Mime.GlobDB.finalise [function] [call site] 00028
5 collections.defaultdict [function] [call site] 00029
5 collections.defaultdict [function] [call site] 00030
5 collections.defaultdict.items [function] [call site] 00031
5 mtype.canonical [function] [call site] 00032
5 pattern.startswith [function] [call site] 00033
5 rest.lower [function] [call site] 00034
5 fnmatch.translate [function] [call site] 00035
5 re.compile [function] [call site] 00036
5 pattern.lower [function] [call site] 00037
4 xdg.Mime.MagicDB.__init__ [function] [call site] 00038
5 collections.defaultdict [function] [call site] 00039
4 os.path.join [function] [call site] 00040
4 xdg.BaseDirectory.load_data_paths [function] [call site] 00041
4 xdg.Mime.MagicDB.merge_file [function] [call site] 00042
5 f.readline [function] [call site] 00044
5 f.readline [function] [call site] 00045
5 xdg.Mime.lookup [function] [call site] 00047
5 xdg.Mime.MagicMatchAny.from_file [function] [call site] 00048
6 xdg.Mime.MagicRule.from_file [function] [call site] 00051
7 f.readline [function] [call site] 00052
7 line.split [function] [call site] 00053
7 line.split [function] [call site] 00055
7 int.from_bytes [function] [call site] 00057
7 f.readline [function] [call site] 00061
7 line.startswith [function] [call site] 00062
7 f.readline [function] [call site] 00064
7 cls.rule_ending_re.match [function] [call site] 00065
7 ending.groups [function] [call site] 00066
7 xdg.Mime.MagicRule.__init__ [function] [call site] 00069
6 depths_rules.append [function] [call site] 00070
6 xdg.Mime.MagicMatchAny.from_rule_tree [function] [call site] 00073
7 xdg.Mime.MagicMatchAny.from_rule_tree [function] [call site] 00074
7 rules.append [function] [call site] 00075
7 xdg.Mime.MagicMatchAny.__init__ [function] [call site] 00078
5 collections.defaultdict.pop [function] [call site] 00079
5 xdg.Mime.MagicMatchAny.from_file [function] [call site] 00080
4 xdg.Mime.MagicDB.finalise [function] [call site] 00081
5 collections.defaultdict.items [function] [call site] 00082
5 rule.maxlen [function] [call site] 00083
4 os.path.join [function] [call site] 00085
4 xdg.BaseDirectory.load_data_paths [function] [call site] 00086
4 line.strip [function] [call site] 00088
2 xdg.Mime.get_type_by_name [function] [call site] 00091
3 xdg.Mime.update_cache [function] [call site] 00092
3 globs.first_match [function] [call site] 00093
2 stat.S_ISREG [function] [call site] 00094
2 xdg.Mime._get_type_by_stat [function] [call site] 00095
3 stat.S_ISDIR [function] [call site] 00096
3 stat.S_ISCHR [function] [call site] 00097
3 stat.S_ISBLK [function] [call site] 00098
3 stat.S_ISFIFO [function] [call site] 00099
3 stat.S_ISLNK [function] [call site] 00100
3 stat.S_ISSOCK [function] [call site] 00101
2 globs.all_matches [function] [call site] 00102
2 magic.match [function] [call site] 00105
2 stat.S_IMODE [function] [call site] 00106
2 xdg.Mime.is_text_file [function] [call site] 00107
1 xdg.Mime.get_type_by_contents [function] [call site] 00113
2 xdg.Mime.update_cache [function] [call site] 00114
2 magic.match [function] [call site] 00115
1 xdg.Mime.get_type_by_data [function] [call site] 00116
2 xdg.Mime.update_cache [function] [call site] 00117
2 magic.match_data [function] [call site] 00118
1 xdg.Mime.GlobDB.__init__ [function] [call site] 00119
1 xdg.Mime.GlobDB.merge_file [function] [call site] 00120
1 xdg.Mime.GlobDB.merge_file [function] [call site] 00121
1 xdg.Mime.MagicDB.__init__ [function] [call site] 00124
1 xdg.Mime.MagicDB.merge_file [function] [call site] 00125
1 xdg.Mime.MagicDB.finalise [function] [call site] 00126
1 os.remove [function] [call site] 00128