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 6 ...fuzz_menu.TestOneInput call site: 00006 xdg.Menu.parse
160 185 xdg.DesktopEntry.DesktopEntry.parse call site: 00185 xdg.Menu.XMLMenuBuilder.parse_kde_legacy_dirs
3 177 xdg.IconTheme.IconTheme.parse call site: 00177 xdg.IconTheme.IconTheme.parse
2 181 xdg.IconTheme.IconTheme.parse call site: 00181 os.path.dirname
1 1 ...fuzz_menu.TestOneInput call site: 00001 et.XML
1 173 xdg.DesktopEntry.DesktopEntry.__init__ call site: 00173 xdg.DesktopEntry.DesktopEntry.parse

Fuzzer calltree

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