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
22 313 xdg.Menu.Menu.sort call site: {node_id} xdg.Menu.Menu.merge_inline
18 68 xdg.Menu._ast_const call site: {node_id} ast.NameConstant
17 240 xdg.Menu.MenuEntryCache.get_menu_entries call site: {node_id} xdg.Menu.Rule.fromFilename
14 129 xdg.Menu._to_bool call site: {node_id} xdg.Menu._to_bool
11 337 xdg.Menu.Menu.sort call site: {node_id} entry.Directory.DesktopEntry.getNoDisplay
10 56 xdg.Menu.XMLMenuBuilder.parse_rule call site: {node_id} xdg.Menu.XMLMenuBuilder.parse_rule_node
10 194 xdg.DesktopEntry.DesktopEntry.parse call site: {node_id} xdg.DesktopEntry.DesktopEntry.new
7 9 xdg.Menu.XMLMenuBuilder.parse call site: {node_id} xdg.Menu._get_menu_file_path
7 94 xdg.Menu.XMLMenuBuilder.parse_node call site: {node_id} xdg.Menu.XMLMenuBuilder.parse_merge_file
7 212 xdg.IniFile.IniFile.getList call site: {node_id} xdg.IniFile.IniFile.__getBoolean
6 223 xdg.Menu.MenuEntry.setAttributes call site: {node_id} xdg.Menu.MenuEntry.__setFilename
4 184 xdg.IconTheme.IconTheme.parse call site: {node_id} xdg.IconTheme.IconTheme.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 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 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 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 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 .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 .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 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
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 .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 .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 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 os.path.exists [function] [call site] 00170
11 xdg.DesktopEntry.DesktopEntry.parse [function] [call site] 00171
12 xdg.IconTheme.IconTheme.parse [function] [call site] 00172
13 xdg.IconTheme.IconTheme.parse [function] [call site] 00173
13 xdg.IniFile.IniFile.parse [function] [call site] 00174
14 os.path.isfile [function] [call site] 00175
14 line.strip [function] [call site] 00177
14 line.lstrip [function] [call site] 00178
14 xdg.IniFile.IniFile.hasGroup [function] [call site] 00179
14 line.split [function] [call site] 00180
14 key.strip [function] [call site] 00181
14 xdg.IniFile.IniFile.hasKey [function] [call site] 00182
14 value.strip [function] [call site] 00183
13 xdg.IconTheme.IconData.parse [function] [call site] 00184
14 xdg.IconTheme.IconTheme.parse [function] [call site] 00185
14 xdg.IniFile.IniFile.parse [function] [call site] 00186
14 xdg.IconTheme.IconData.parse [function] [call site] 00187
14 xdg.DesktopEntry.DesktopEntry.parse [function] [call site] 00188
13 xdg.DesktopEntry.DesktopEntry.parse [function] [call site] 00189
13 os.path.dirname [function] [call site] 00190
13 os.path.split [function] [call site] 00191
12 xdg.IniFile.IniFile.parse [function] [call site] 00192
12 xdg.IconTheme.IconData.parse [function] [call site] 00193
12 xdg.DesktopEntry.DesktopEntry.parse [function] [call site] 00194
11 xdg.DesktopEntry.DesktopEntry.new [function] [call site] 00195
12 os.path.splitext [function] [call site] 00196
12 os.path.splitext [function] [call site] 00197
12 xdg.IniFile.IniFile.addGroup [function] [call site] 00199
13 xdg.IniFile.IniFile.hasGroup [function] [call site] 00200
12 xdg.IniFile.IniFile.set [function] [call site] 00201
13 xdg.IniFile.IniFile.get [function] [call site] 00203
14 xdg.IniFile.IniFile.__addLocale [function] [call site] 00204
14 xdg.IniFile.IniFile.getList [function] [call site] 00205
14 xdg.IniFile.IniFile.__getBoolean [function] [call site] 00213
14 re.compile [function] [call site] 00216
14 value.split [function] [call site] 00217
14 result.append [function] [call site] 00220
10 xdg.Menu.MenuEntry.setAttributes [function] [call site] 00221
11 os.path.join [function] [call site] 00222
11 os.path.isabs [function] [call site] 00223
11 xdg.Menu.MenuEntry.__setFilename [function] [call site] 00224
12 xdg.DesktopEntry.DesktopEntry.getType [function] [call site] 00225
13 xdg.IniFile.IniFile.get [function] [call site] 00226
12 os.path.join [function] [call site] 00227
12 os.path.join [function] [call site] 00228
12 os.path.join [function] [call site] 00229
10 xdg.DesktopEntry.DesktopEntry.getCategories [function] [call site] 00230
11 xdg.IniFile.IniFile.get [function] [call site] 00231
9 os.path.join [function] [call site] 00232
9 os.path.isdir [function] [call site] 00233
9 os.path.join [function] [call site] 00234
9 xdg.Menu.MenuEntryCache.__addFiles [function] [call site] 00235
7 xdg.Menu.MenuEntryCache.get_menu_entries [function] [call site] 00236
8 appdirs.append [function] [call site] 00238
8 entries.append [function] [call site] 00240
8 menuentry.getType [function] [call site] 00241
8 entries.index [function] [call site] 00242
8 entry.getType [function] [call site] 00243
7 xdg.Menu.Rule.fromFilename [function] [call site] 00245
8 ast.Expression [function] [call site] 00246
8 ast.Compare [function] [call site] 00247
8 ast.Attribute [function] [call site] 00250
8 ast.fix_missing_locations [function] [call site] 00254
8 xdg.Menu.Rule.__init__ [function] [call site] 00255
7 m.Rules.append [function] [call site] 00256
7 categories.append [function] [call site] 00257
5 xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs [function] [call site] 00258
6 subprocess.Popen [function] [call site] 00259
6 proc.communicate [function] [call site] 00260
6 xdg.Menu.XMLMenuBuilder.parse_legacy_dir [function] [call site] 00261
3 xdg.Menu.XMLMenuBuilder.handle_moves [function] [call site] 00262
4 xdg.Menu.XMLMenuBuilder.handle_moves [function] [call site] 00263
4 xdg.Menu.Menu.getMenu [function] [call site] 00264
5 path.split [function] [call site] 00265
5 submenu.getMenu [function] [call site] 00267
4 xdg.Menu.Menu.getMenu [function] [call site] 00268
4 move.New.split [function] [call site] 00269
4 xdg.Menu.Menu.getMenu [function] [call site] 00271
4 xdg.Menu.Menu.__init__ [function] [call site] 00272
4 xdg.Menu.Menu.addSubmenu [function] [call site] 00274
4 menus.pop [function] [call site] 00275
4 move_from_menu.Parent.Submenus.remove [function] [call site] 00276
3 xdg.Menu.XMLMenuBuilder.post_parse [function] [call site] 00277
4 xdg.Menu.Layout.__init__ [function] [call site] 00278
4 xdg.Menu.Layout.__init__ [function] [call site] 00279
4 xdg.Menu.Layout.__init__ [function] [call site] 00280
4 xdg.Menu._dedupe [function] [call site] 00281
5 _list.reverse [function] [call site] 00282
5 _set.setdefault [function] [call site] 00283
5 _list.reverse [function] [call site] 00284
4 xdg.Menu._dedupe [function] [call site] 00285
4 xdg.Menu._dedupe [function] [call site] 00286
4 xdg.Menu.XMLMenuBuilder.post_parse [function] [call site] 00287
4 menu.Directories.reverse [function] [call site] 00288
4 menu.DirectoryDirs.reverse [function] [call site] 00289
4 menu.AppDirs.reverse [function] [call site] 00290
4 os.path.join [function] [call site] 00291
4 os.path.isfile [function] [call site] 00292
4 xdg.Menu.MenuEntry.__init__ [function] [call site] 00293
4 xdg.Menu.MenuEntry.getType [function] [call site] 00294
4 xdg.Menu.MenuEntry.getType [function] [call site] 00295
3 xdg.Menu.XMLMenuBuilder.generate_not_only_allocated [function] [call site] 00296
4 xdg.Menu.XMLMenuBuilder.generate_not_only_allocated [function] [call site] 00297
4 xdg.Menu.MenuEntryCache.add_menu_entries [function] [call site] 00298
4 xdg.Menu.MenuEntryCache.get_menu_entries [function] [call site] 00299
4 rule.apply [function] [call site] 00300
4 menuentry.Parents.append [function] [call site] 00301
4 menu.MenuEntries.append [function] [call site] 00302
3 xdg.Menu.XMLMenuBuilder.generate_only_allocated [function] [call site] 00303
4 xdg.Menu.XMLMenuBuilder.generate_only_allocated [function] [call site] 00304
4 xdg.Menu.MenuEntryCache.add_menu_entries [function] [call site] 00305
4 xdg.Menu.MenuEntryCache.get_menu_entries [function] [call site] 00306
4 rule.apply [function] [call site] 00307
4 menuentry.Parents.append [function] [call site] 00308
4 menu.MenuEntries.append [function] [call site] 00309
3 xdg.Menu.Menu.sort [function] [call site] 00310
4 submenu.sort [function] [call site] 00311
4 _entries.add [function] [call site] 00314
4 _submenus.add [function] [call site] 00315
4 xdg.Menu.Separator.__init__ [function] [call site] 00316
4 .isinstance [function] [call site] 00318
4 xdg.Menu.Menu.getMenuEntry [function] [call site] 00319
5 submenu.getMenuEntry [function] [call site] 00320
4 xdg.Menu.Menu.getMenu [function] [call site] 00321
4 xdg.Menu.Menu.merge_inline [function] [call site] 00322
5 submenu.getName [function] [call site] 00324
5 menuentry.DesktopEntry.set [function] [call site] 00325
5 submenu.getGenericName [function] [call site] 00326
5 menuentry.DesktopEntry.set [function] [call site] 00327
5 submenu.getComment [function] [call site] 00328
5 menuentry.DesktopEntry.set [function] [call site] 00329
5 submenu.getName [function] [call site] 00331
5 submenu.getGenericName [function] [call site] 00332
5 submenu.getComment [function] [call site] 00333
5 xdg.Menu.Header.__init__ [function] [call site] 00334
4 xdg.Menu.Menu.merge_inline [function] [call site] 00335
4 .isinstance [function] [call site] 00336
4 .isinstance [function] [call site] 00337
4 entry.Directory.DesktopEntry.getNoDisplay [function] [call site] 00338
4 entry.Directory.DesktopEntry.getHidden [function] [call site] 00339
4 .isinstance [function] [call site] 00340
4 entry.DesktopEntry.getNoDisplay [function] [call site] 00341
4 entry.DesktopEntry.getHidden [function] [call site] 00342
4 entry.DesktopEntry.getTryExec [function] [call site] 00343
4 entry.DesktopEntry.findTryExec [function] [call site] 00344
4 entry.DesktopEntry.getOnlyShowIn [function] [call site] 00345
4 entry.DesktopEntry.getOnlyShowIn [function] [call site] 00346
4 entry.DesktopEntry.getNotShowIn [function] [call site] 00347
4 .isinstance [function] [call site] 00348
4 .isinstance [function] [call site] 00350
4 .isinstance [function] [call site] 00352
4 .isinstance [function] [call site] 00353
1 os.remove [function] [call site] 00354