Fuzz introspector: fuzz_menu
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
165 3 ...fuzz_menu.TestOneInput call site: {node_id} xdg.Menu.parse
160 182 xdg.DesktopEntry.DesktopEntry.parse call site: {node_id} xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs
5 176 xdg.IconTheme.IconTheme.parse call site: {node_id} xdg.DesktopEntry.DesktopEntry.parse
1 170 xdg.DesktopEntry.DesktopEntry.__init__ call site: {node_id} xdg.DesktopEntry.DesktopEntry.parse

Fuzzer calltree

0 ...fuzz_menu.TestOneInput [function] [call site] 00000
1 ...fuzz_menu.verify_xml [function] [call site] 00001
1 os.getcwd [function] [call site] 00002
1 os.path.join [function] [call site] 00003
1 <builtin>.open [function] [call site] 00004
1 xdg.Menu.parse [function] [call site] 00006
2 xdg.Menu.XMLMenuBuilder.__init__ [function] [call site] 00007
2 xdg.Menu.XMLMenuBuilder.parse [function] [call site] 00008
3 os.path.isabs [function] [call site] 00009
3 xdg.Menu._get_menu_file_path [function] [call site] 00010
4 <builtin>.list [function] [call site] 00011
4 os.path.join [function] [call site] 00013
4 os.path.isfile [function] [call site] 00014
3 os.environ.get [function] [call site] 00015
3 xdg.Menu._get_menu_file_path [function] [call site] 00016
3 filename.endswith [function] [call site] 00017
3 xml.etree.cElementTree.parse [function] [call site] 00018
3 xml.etree.ElementTree.parse [function] [call site] 00019
3 <builtin>.set [function] [call site] 00020
3 <builtin>.set [function] [call site] 00021
3 xdg.Menu.MenuEntryCache.__init__ [function] [call site] 00022
3 tree.getroot [function] [call site] 00023
3 xdg.Menu.XMLMenuBuilder.parse_menu [function] [call site] 00024
4 xdg.Menu.Menu.__init__ [function] [call site] 00025
4 xdg.Menu.XMLMenuBuilder.parse_node [function] [call site] 00026
5 <builtin>.len [function] [call site] 00027
5 text.strip [function] [call site] 00028
5 xdg.Menu.XMLMenuBuilder.parse_menu [function] [call site] 00029
5 xdg.Menu.Menu.addSubmenu [function] [call site] 00030
5 xdg.Menu.XMLMenuBuilder.parse_app_dir [function] [call site] 00031
6 xdg.Menu._check_file_path [function] [call site] 00032
7 os.path.dirname [function] [call site] 00033
7 os.path.isabs [function] [call site] 00034
7 os.path.join [function] [call site] 00035
7 os.path.abspath [function] [call site] 00036
7 os.path.exists [function] [call site] 00037
7 os.path.isdir [function] [call site] 00038
7 os.path.isfile [function] [call site] 00039
6 parent.AppDirs.append [function] [call site] 00040
5 xdg.Menu.XMLMenuBuilder.parse_default_app_dir [function] [call site] 00041
6 <builtin>.reversed [function] [call site] 00042
6 os.path.join [function] [call site] 00043
6 xdg.Menu.XMLMenuBuilder.parse_app_dir [function] [call site] 00044
5 xdg.Menu.XMLMenuBuilder.parse_directory_dir [function] [call site] 00045
6 xdg.Menu._check_file_path [function] [call site] 00046
6 parent.DirectoryDirs.append [function] [call site] 00047
5 xdg.Menu.XMLMenuBuilder.parse_default_directory_dir [function] [call site] 00048
6 <builtin>.reversed [function] [call site] 00049
6 os.path.join [function] [call site] 00050
6 xdg.Menu.XMLMenuBuilder.parse_directory_dir [function] [call site] 00051
5 parent.Directories.append [function] [call site] 00052
5 xdg.Menu.XMLMenuBuilder.parse_rule [function] [call site] 00053
6 ast.Expression [function] [call site] 00054
6 xdg.Menu.XMLMenuBuilder.parse_bool_op [function] [call site] 00056
7 xdg.Menu.XMLMenuBuilder.parse_rule_node [function] [call site] 00057
8 xdg.Menu.XMLMenuBuilder.parse_bool_op [function] [call site] 00059
8 xdg.Menu.XMLMenuBuilder.parse_bool_op [function] [call site] 00061
8 xdg.Menu.XMLMenuBuilder.parse_bool_op [function] [call site] 00063
8 ast.UnaryOp [function] [call site] 00065
8 xdg.Menu._ast_const [function] [call site] 00066
9 ast.literal_eval [function] [call site] 00067
9 ast.Constant [function] [call site] 00068
9 ast.NameConstant [function] [call site] 00069
8 ast.Compare [function] [call site] 00072
8 ast.Attribute [function] [call site] 00075
8 ast.Compare [function] [call site] 00079
8 ast.Attribute [function] [call site] 00082
7 values.append [function] [call site] 00086
7 <builtin>.len [function] [call site] 00087
7 ast.BoolOp [function] [call site] 00088
6 xdg.Menu._ast_const [function] [call site] 00089
6 ast.fix_missing_locations [function] [call site] 00090
6 xdg.Menu.Rule.__init__ [function] [call site] 00091
7 <builtin>.compile [function] [call site] 00092
5 parent.Rules.append [function] [call site] 00093
5 child.attrib.get [function] [call site] 00094
5 xdg.Menu.XMLMenuBuilder.parse_merge_file [function] [call site] 00095
6 child.attrib.get [function] [call site] 00096
6 filename.replace [function] [call site] 00097
6 os.path.join [function] [call site] 00098
6 os.path.isfile [function] [call site] 00099
6 os.path.join [function] [call site] 00100
6 xdg.Menu.XMLMenuBuilder.merge_file [function] [call site] 00101
7 xml.etree.cElementTree.parse [function] [call site] 00102
7 xml.etree.ElementTree.parse [function] [call site] 00103
7 tree.getroot [function] [call site] 00104
7 xdg.Menu.XMLMenuBuilder.parse_node [function] [call site] 00105
6 xdg.Menu._check_file_path [function] [call site] 00106
6 xdg.Menu.XMLMenuBuilder.merge_file [function] [call site] 00107
5 xdg.Menu.XMLMenuBuilder.parse_merge_file [function] [call site] 00108
5 xdg.Menu.XMLMenuBuilder.parse_merge_dir [function] [call site] 00109
6 xdg.Menu._check_file_path [function] [call site] 00110
6 os.listdir [function] [call site] 00111
6 item.endswith [function] [call site] 00112
6 os.path.join [function] [call site] 00113
6 xdg.Menu.XMLMenuBuilder.merge_file [function] [call site] 00114
5 xdg.Menu.XMLMenuBuilder.parse_default_merge_dirs [function] [call site] 00115
6 os.path.basename [function] [call site] 00116
6 os.path.splitext [function] [call site] 00117
6 <builtin>.reversed [function] [call site] 00118
6 os.path.join [function] [call site] 00119
6 xdg.Menu.XMLMenuBuilder.parse_merge_dir [function] [call site] 00120
5 xdg.Menu.XMLMenuBuilder.parse_move [function] [call site] 00121
6 text.strip [function] [call site] 00122
6 xdg.Menu.Move.__init__ [function] [call site] 00123
5 parent.Moves.append [function] [call site] 00124
5 xdg.Menu.XMLMenuBuilder.parse_layout [function] [call site] 00125
6 xdg.Menu.Layout.__init__ [function] [call site] 00126
6 node.attrib.get [function] [call site] 00127
6 xdg.Menu._to_bool [function] [call site] 00128
7 <builtin>.isinstance [function] [call site] 00129
7 value.lower [function] [call site] 00130
6 node.attrib.get [function] [call site] 00131
6 xdg.Menu._to_bool [function] [call site] 00132
6 node.attrib.get [function] [call site] 00133
6 <builtin>.int [function] [call site] 00134
6 node.attrib.get [function] [call site] 00135
6 xdg.Menu._to_bool [function] [call site] 00136
6 node.attrib.get [function] [call site] 00137
6 xdg.Menu._to_bool [function] [call site] 00138
6 text.strip [function] [call site] 00139
6 order.append [function] [call site] 00140
6 order.append [function] [call site] 00141
6 order.append [function] [call site] 00142
6 order.append [function] [call site] 00143
5 xdg.Menu.XMLMenuBuilder.parse_layout [function] [call site] 00144
5 child.attrib.get [function] [call site] 00145
5 xdg.Menu.XMLMenuBuilder.parse_legacy_dir [function] [call site] 00146
6 xdg.Menu.XMLMenuBuilder.merge_legacy_dir [function] [call site] 00147
7 xdg.Menu._check_file_path [function] [call site] 00148
7 xdg.Menu.Menu.__init__ [function] [call site] 00149
7 m.AppDirs.append [function] [call site] 00150
7 m.DirectoryDirs.append [function] [call site] 00151
7 os.path.basename [function] [call site] 00152
7 os.listdir [function] [call site] 00153
7 m.Directories.append [function] [call site] 00154
7 os.path.join [function] [call site] 00155
7 os.path.isdir [function] [call site] 00156
7 xdg.Menu.XMLMenuBuilder.merge_legacy_dir [function] [call site] 00157
7 xdg.Menu.Menu.addSubmenu [function] [call site] 00158
7 os.path.join [function] [call site] 00159
7 xdg.Menu.MenuEntryCache.add_menu_entries [function] [call site] 00160
8 xdg.Menu.MenuEntryCache.__addFiles [function] [call site] 00161
9 os.path.join [function] [call site] 00162
9 os.listdir [function] [call site] 00163
9 item.endswith [function] [call site] 00164
9 os.path.join [function] [call site] 00165
9 xdg.Menu.MenuEntry.__init__ [function] [call site] 00166
10 os.path.join [function] [call site] 00167
10 xdg.DesktopEntry.DesktopEntry.__init__ [function] [call site] 00168
11 <builtin>.dict [function] [call site] 00169
11 os.path.exists [function] [call site] 00170
11 xdg.DesktopEntry.DesktopEntry.parse [function] [call site] 00171
12 xdg.DesktopEntry.DesktopEntry.parse [function] [call site] 00172
12 xdg.IconTheme.IconTheme.parse [function] [call site] 00173
13 xdg.DesktopEntry.DesktopEntry.parse [function] [call site] 00174
13 xdg.IconTheme.IconTheme.parse [function] [call site] 00175
13 xdg.IconTheme.IconData.parse [function] [call site] 00176
14 xdg.DesktopEntry.DesktopEntry.parse [function] [call site] 00177
14 xdg.IconTheme.IconTheme.parse [function] [call site] 00178
14 xdg.IconTheme.IconData.parse [function] [call site] 00179
13 os.path.dirname [function] [call site] 00180
13 os.path.split [function] [call site] 00181
12 xdg.IconTheme.IconData.parse [function] [call site] 00182
11 xdg.DesktopEntry.DesktopEntry.new [function] [call site] 00183
12 os.path.splitext [function] [call site] 00184
12 os.path.splitext [function] [call site] 00185
12 <builtin>.dict [function] [call site] 00186
12 xdg.IniFile.IniFile.addGroup [function] [call site] 00187
13 xdg.IniFile.IniFile.hasGroup [function] [call site] 00188
12 xdg.IniFile.IniFile.set [function] [call site] 00189
13 <builtin>.len [function] [call site] 00190
13 xdg.IniFile.IniFile.get [function] [call site] 00191
14 xdg.IniFile.IniFile.__addLocale [function] [call site] 00192
14 xdg.IniFile.IniFile.getList [function] [call site] 00193
14 xdg.IniFile.IniFile.__getBoolean [function] [call site] 00201
14 <builtin>.int [function] [call site] 00202
14 <builtin>.float [function] [call site] 00203
14 re.compile [function] [call site] 00204
14 value.split [function] [call site] 00205
14 <builtin>.int [function] [call site] 00206
14 <builtin>.int [function] [call site] 00207
14 result.append [function] [call site] 00208
10 xdg.Menu.MenuEntry.setAttributes [function] [call site] 00209
11 os.path.join [function] [call site] 00210
11 os.path.isabs [function] [call site] 00211
11 xdg.Menu.MenuEntry.__setFilename [function] [call site] 00212
12 xdg.DesktopEntry.DesktopEntry.getType [function] [call site] 00213
13 xdg.IniFile.IniFile.get [function] [call site] 00214
12 os.path.join [function] [call site] 00215
12 os.path.join [function] [call site] 00216
12 os.path.join [function] [call site] 00217
10 xdg.DesktopEntry.DesktopEntry.getCategories [function] [call site] 00218
11 xdg.IniFile.IniFile.get [function] [call site] 00219
9 os.path.join [function] [call site] 00220
9 os.path.isdir [function] [call site] 00221
9 os.path.join [function] [call site] 00222
9 xdg.Menu.MenuEntryCache.__addFiles [function] [call site] 00223
7 xdg.Menu.MenuEntryCache.get_menu_entries [function] [call site] 00224
8 <builtin>.set [function] [call site] 00225
8 appdirs.append [function] [call site] 00226
8 entries.append [function] [call site] 00228
8 menuentry.getType [function] [call site] 00229
8 entries.index [function] [call site] 00230
8 entry.getType [function] [call site] 00231
7 <builtin>.len [function] [call site] 00232
7 xdg.Menu.Rule.fromFilename [function] [call site] 00233
8 ast.Expression [function] [call site] 00234
8 ast.Compare [function] [call site] 00235
8 ast.Attribute [function] [call site] 00238
8 ast.fix_missing_locations [function] [call site] 00242
8 xdg.Menu.Rule.__init__ [function] [call site] 00243
7 m.Rules.append [function] [call site] 00244
7 categories.append [function] [call site] 00245
5 xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs [function] [call site] 00246
6 subprocess.Popen [function] [call site] 00247
6 proc.communicate [function] [call site] 00248
6 xdg.Menu.XMLMenuBuilder.parse_legacy_dir [function] [call site] 00249
3 xdg.Menu.XMLMenuBuilder.handle_moves [function] [call site] 00250
4 xdg.Menu.XMLMenuBuilder.handle_moves [function] [call site] 00251
4 xdg.Menu.Menu.getMenu [function] [call site] 00252
5 path.split [function] [call site] 00253
5 <builtin>.len [function] [call site] 00254
5 submenu.getMenu [function] [call site] 00255
4 xdg.Menu.Menu.getMenu [function] [call site] 00256
4 move.New.split [function] [call site] 00257
4 <builtin>.len [function] [call site] 00258
4 xdg.Menu.Menu.getMenu [function] [call site] 00259
4 xdg.Menu.Menu.__init__ [function] [call site] 00260
4 <builtin>.len [function] [call site] 00261
4 xdg.Menu.Menu.addSubmenu [function] [call site] 00262
4 menus.pop [function] [call site] 00263
4 move_from_menu.Parent.Submenus.remove [function] [call site] 00264
3 xdg.Menu.XMLMenuBuilder.post_parse [function] [call site] 00265
4 xdg.Menu.Layout.__init__ [function] [call site] 00266
4 xdg.Menu.Layout.__init__ [function] [call site] 00267
4 xdg.Menu.Layout.__init__ [function] [call site] 00268
4 xdg.Menu._dedupe [function] [call site] 00269
5 _list.reverse [function] [call site] 00270
5 _set.setdefault [function] [call site] 00271
5 _list.reverse [function] [call site] 00272
4 xdg.Menu._dedupe [function] [call site] 00273
4 xdg.Menu._dedupe [function] [call site] 00274
4 xdg.Menu.XMLMenuBuilder.post_parse [function] [call site] 00275
4 menu.Directories.reverse [function] [call site] 00276
4 menu.DirectoryDirs.reverse [function] [call site] 00277
4 menu.AppDirs.reverse [function] [call site] 00278
4 os.path.join [function] [call site] 00279
4 os.path.isfile [function] [call site] 00280
4 xdg.Menu.MenuEntry.__init__ [function] [call site] 00281
4 xdg.Menu.MenuEntry.getType [function] [call site] 00282
4 xdg.Menu.MenuEntry.getType [function] [call site] 00283
3 xdg.Menu.XMLMenuBuilder.generate_not_only_allocated [function] [call site] 00284
4 xdg.Menu.XMLMenuBuilder.generate_not_only_allocated [function] [call site] 00285
4 xdg.Menu.MenuEntryCache.add_menu_entries [function] [call site] 00286
4 xdg.Menu.MenuEntryCache.get_menu_entries [function] [call site] 00287
4 rule.apply [function] [call site] 00288
4 menuentry.Parents.append [function] [call site] 00289
4 menu.MenuEntries.append [function] [call site] 00290
3 xdg.Menu.XMLMenuBuilder.generate_only_allocated [function] [call site] 00291
4 xdg.Menu.XMLMenuBuilder.generate_only_allocated [function] [call site] 00292
4 xdg.Menu.MenuEntryCache.add_menu_entries [function] [call site] 00293
4 xdg.Menu.MenuEntryCache.get_menu_entries [function] [call site] 00294
4 rule.apply [function] [call site] 00295
4 menuentry.Parents.append [function] [call site] 00296
4 menu.MenuEntries.append [function] [call site] 00297
3 xdg.Menu.Menu.sort [function] [call site] 00298
4 submenu.sort [function] [call site] 00299
4 <builtin>.set [function] [call site] 00300
4 <builtin>.set [function] [call site] 00301
4 _entries.add [function] [call site] 00302
4 _submenus.add [function] [call site] 00303
4 xdg.Menu.Separator.__init__ [function] [call site] 00304
4 <builtin>.len [function] [call site] 00305
4 <builtin>.isinstance [function] [call site] 00306
4 xdg.Menu.Menu.getMenuEntry [function] [call site] 00307
5 submenu.getMenuEntry [function] [call site] 00308
4 xdg.Menu.Menu.getMenu [function] [call site] 00309
4 xdg.Menu.Menu.merge_inline [function] [call site] 00310
5 <builtin>.len [function] [call site] 00311
5 submenu.getName [function] [call site] 00312
5 menuentry.DesktopEntry.set [function] [call site] 00313
5 submenu.getGenericName [function] [call site] 00314
5 menuentry.DesktopEntry.set [function] [call site] 00315
5 submenu.getComment [function] [call site] 00316
5 menuentry.DesktopEntry.set [function] [call site] 00317
5 <builtin>.len [function] [call site] 00318
5 submenu.getName [function] [call site] 00319
5 submenu.getGenericName [function] [call site] 00320
5 submenu.getComment [function] [call site] 00321
5 xdg.Menu.Header.__init__ [function] [call site] 00322
4 xdg.Menu.Menu.merge_inline [function] [call site] 00323
4 <builtin>.isinstance [function] [call site] 00324
4 <builtin>.isinstance [function] [call site] 00325
4 entry.Directory.DesktopEntry.getNoDisplay [function] [call site] 00326
4 entry.Directory.DesktopEntry.getHidden [function] [call site] 00327
4 <builtin>.isinstance [function] [call site] 00328
4 entry.DesktopEntry.getNoDisplay [function] [call site] 00329
4 entry.DesktopEntry.getHidden [function] [call site] 00330
4 entry.DesktopEntry.getTryExec [function] [call site] 00331
4 entry.DesktopEntry.findTryExec [function] [call site] 00332
4 entry.DesktopEntry.getOnlyShowIn [function] [call site] 00333
4 entry.DesktopEntry.getOnlyShowIn [function] [call site] 00334
4 entry.DesktopEntry.getNotShowIn [function] [call site] 00335
4 <builtin>.isinstance [function] [call site] 00336
4 <builtin>.len [function] [call site] 00337
4 <builtin>.isinstance [function] [call site] 00338
4 <builtin>.len [function] [call site] 00339
4 <builtin>.isinstance [function] [call site] 00340
4 <builtin>.isinstance [function] [call site] 00341
1 os.remove [function] [call site] 00342