Fuzz introspector: fuzz_lexers
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
59 116 pygments.scanner.Scanner.scan call site: {node_id} pygments.scanner.Scanner.get_char
19 232 pygments.lexer.Lexer.get_tokens.streamer call site: {node_id} pygments.formatters.latex.LatexEmbeddedLexer.get_tokens_unprocessed
13 29 pygments.lexer.Lexer.get_tokens call site: {node_id} pygments.util.guess_decode
11 180 pygments.lexer.Lexer.get_tokens.streamer call site: {node_id} .enumerate
10 219 pygments.filters.get_filter_by_name call site: {node_id} pygments.lexers.erlang.ElixirLexer.get_tokens_unprocessed
8 87 pygments.lexers.dylan.DylanLexer.get_tokens_unprocessed call site: {node_id} pygments.lexers.erlang.ElixirLexer.get_tokens_unprocessed
7 100 pygments.lexers.erlang.ElixirLexer.get_tokens_unprocessed call site: {node_id} pygments.lexers.dylan.DylanLexer.get_tokens_unprocessed
5 73 pygments.lexers.erlang.ElixirLexer.get_tokens_unprocessed call site: {node_id} pygments.lexers.erlang.ElixirLexer.get_tokens_unprocessed
5 197 pygments.util.get_bool_opt call site: {node_id} .isinstance
4 313 pygments.format call site: {node_id} pygments.formatters.terminal.TerminalFormatter.format
2 2 ...fuzz_lexers.TestOneInput call site: {node_id} pygments.lexers.get_lexer_by_name
2 17 pygments.plugin.iter_entry_points call site: {node_id} pkg_resources.iter_entry_points.load

Fuzzer calltree

0 ...fuzz_lexers.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00002
1 fdp.PickValueInList [function] [call site] 00003
1 pygments.lexers.get_lexer_by_name [function] [call site] 00004
2 LEXERS.values [function] [call site] 00005
2 _alias.lower [function] [call site] 00006
2 pygments.lexers._load_lexers [function] [call site] 00007
3 .__import__ [function] [call site] 00008
2 pygments.plugin.find_plugin_lexers [function] [call site] 00010
3 pygments.plugin.iter_entry_points [function] [call site] 00011
4 pkg_resources.iter_entry_points [function] [call site] 00012
4 importlib.metadata.entry_points [function] [call site] 00013
4 importlib_metadata.entry_points [function] [call site] 00014
4 importlib.metadata.entry_points.select [function] [call site] 00016
4 importlib.metadata.entry_points.get [function] [call site] 00017
3 pkg_resources.iter_entry_points.load [function] [call site] 00018
2 _alias.lower [function] [call site] 00019
1 pygments.filters.FILTERS.keys [function] [call site] 00020
1 fdp.PickValueInList [function] [call site] 00022
1 random_lexer.add_filter [function] [call site] 00023
1 fdp.PickValueInList [function] [call site] 00024
1 fdp.ConsumeUnicode [function] [call site] 00025
1 pygments.highlight [function] [call site] 00026
2 pygments.lex [function] [call site] 00027
3 pygments.lexer.Lexer.get_tokens [function] [call site] 00028
4 .isinstance [function] [call site] 00029
4 pygments.util.guess_decode [function] [call site] 00030
5 text.decode [function] [call site] 00031
5 locale.getpreferredencoding [function] [call site] 00032
5 text.decode [function] [call site] 00033
5 text.decode [function] [call site] 00034
4 text.startswith [function] [call site] 00035
4 chardet.detect [function] [call site] 00037
4 text.decode [function] [call site] 00039
4 text.decode [function] [call site] 00040
4 text.startswith [function] [call site] 00041
4 text.startswith [function] [call site] 00043
4 text.replace [function] [call site] 00045
4 text.replace [function] [call site] 00046
4 text.strip [function] [call site] 00047
4 text.strip [function] [call site] 00048
4 text.expandtabs [function] [call site] 00049
4 text.endswith [function] [call site] 00050
4 pygments.lexer.Lexer.get_tokens.streamer [function] [call site] 00051
5 pygments.lexer.Lexer.get_tokens_unprocessed [function] [call site] 00052
5 pygments.lexers.scripting.LuaLexer.get_tokens_unprocessed [function] [call site] 00053
6 pygments.lexers.scripting.LuaLexer.get_tokens_unprocessed [function] [call site] 00054
6 pygments.lexer.RegexLexer.get_tokens_unprocessed [function] [call site] 00055
6 pygments.lexers.erlang.ElixirLexer.get_tokens_unprocessed [function] [call site] 00069
7 pygments.lexers.scripting.LuaLexer.get_tokens_unprocessed [function] [call site] 00070
7 pygments.lexer.RegexLexer.get_tokens_unprocessed [function] [call site] 00071
7 pygments.lexers.erlang.ElixirLexer.get_tokens_unprocessed [function] [call site] 00072
7 pygments.lexers.haskell.CryptolLexer.get_tokens_unprocessed [function] [call site] 00073
8 pygments.lexers.scripting.LuaLexer.get_tokens_unprocessed [function] [call site] 00074
8 pygments.lexer.RegexLexer.get_tokens_unprocessed [function] [call site] 00075
8 pygments.lexers.erlang.ElixirLexer.get_tokens_unprocessed [function] [call site] 00076
8 pygments.lexers.haskell.CryptolLexer.get_tokens_unprocessed [function] [call site] 00077
8 pygments.lexers.lilypond.LilyPondLexer.get_tokens_unprocessed [function] [call site] 00078
8 pygments.lexers.dylan.DylanLexer.get_tokens_unprocessed [function] [call site] 00080
9 pygments.lexers.scripting.LuaLexer.get_tokens_unprocessed [function] [call site] 00081
9 pygments.lexer.RegexLexer.get_tokens_unprocessed [function] [call site] 00082
9 pygments.lexers.erlang.ElixirLexer.get_tokens_unprocessed [function] [call site] 00083
9 pygments.lexers.haskell.CryptolLexer.get_tokens_unprocessed [function] [call site] 00084
9 pygments.lexers.lilypond.LilyPondLexer.get_tokens_unprocessed [function] [call site] 00085
9 pygments.lexers.dylan.DylanLexer.get_tokens_unprocessed [function] [call site] 00086
9 pygments.lexers.php.PhpLexer.get_tokens_unprocessed [function] [call site] 00087
10 stack.append [function] [call site] 00088
10 pygments.lexers.scripting.LuaLexer.get_tokens_unprocessed [function] [call site] 00089
10 pygments.lexer.RegexLexer.get_tokens_unprocessed [function] [call site] 00090
10 pygments.lexers.erlang.ElixirLexer.get_tokens_unprocessed [function] [call site] 00091
10 pygments.lexers.haskell.CryptolLexer.get_tokens_unprocessed [function] [call site] 00092
10 pygments.lexers.lilypond.LilyPondLexer.get_tokens_unprocessed [function] [call site] 00093
10 pygments.lexers.dylan.DylanLexer.get_tokens_unprocessed [function] [call site] 00094
10 pygments.lexers.php.PhpLexer.get_tokens_unprocessed [function] [call site] 00095
9 value.lower [function] [call site] 00096
8 pygments.lexers.php.PhpLexer.get_tokens_unprocessed [function] [call site] 00097
7 pygments.lexers.lilypond.LilyPondLexer.get_tokens_unprocessed [function] [call site] 00098
7 pygments.lexers.dylan.DylanLexer.get_tokens_unprocessed [function] [call site] 00099
7 pygments.lexers.php.PhpLexer.get_tokens_unprocessed [function] [call site] 00100
6 pygments.lexers.haskell.CryptolLexer.get_tokens_unprocessed [function] [call site] 00101
6 pygments.lexers.lilypond.LilyPondLexer.get_tokens_unprocessed [function] [call site] 00102
6 pygments.lexers.dylan.DylanLexer.get_tokens_unprocessed [function] [call site] 00103
6 pygments.lexers.php.PhpLexer.get_tokens_unprocessed [function] [call site] 00104
6 value.split [function] [call site] 00105
5 pygments.lexers.pascal.DelphiLexer.get_tokens_unprocessed [function] [call site] 00108
6 pygments.scanner.Scanner.__init__ [function] [call site] 00109
6 pygments.scanner.Scanner.scan [function] [call site] 00112
6 pygments.scanner.Scanner.scan [function] [call site] 00117
6 scanner.match.startswith [function] [call site] 00118
6 pygments.scanner.Scanner.scan [function] [call site] 00119
6 pygments.scanner.Scanner.scan [function] [call site] 00120
6 pygments.scanner.Scanner.scan [function] [call site] 00121
6 pygments.scanner.Scanner.scan [function] [call site] 00122
6 pygments.scanner.Scanner.scan [function] [call site] 00123
6 scanner.match.lower [function] [call site] 00124
6 stack.append [function] [call site] 00126
6 pygments.scanner.Scanner.test [function] [call site] 00127
7 pygments.scanner.Scanner.check [function] [call site] 00128
8 re.compile [function] [call site] 00129
6 scanner.match.lower [function] [call site] 00130
6 block_labels.add [function] [call site] 00131
6 scanner.match.lower [function] [call site] 00132
6 block_labels.add [function] [call site] 00133
6 pygments.scanner.Scanner.scan [function] [call site] 00134
6 stack.append [function] [call site] 00135
6 pygments.scanner.Scanner.scan [function] [call site] 00136
6 stack.append [function] [call site] 00137
6 pygments.scanner.Scanner.scan [function] [call site] 00138
6 pygments.scanner.Scanner.scan [function] [call site] 00139
6 pygments.scanner.Scanner.scan [function] [call site] 00140
6 pygments.scanner.Scanner.scan [function] [call site] 00141
6 stack.pop [function] [call site] 00143
6 pygments.scanner.Scanner.get_char [function] [call site] 00144
7 pygments.scanner.Scanner.scan [function] [call site] 00145
6 pygments.scanner.Scanner.scan [function] [call site] 00146
6 pygments.scanner.Scanner.scan [function] [call site] 00147
6 stack.pop [function] [call site] 00148
6 pygments.scanner.Scanner.scan [function] [call site] 00149
6 pygments.scanner.Scanner.get_char [function] [call site] 00150
6 stack.pop [function] [call site] 00151
6 pygments.scanner.Scanner.scan [function] [call site] 00152
6 pygments.scanner.Scanner.scan [function] [call site] 00153
6 stack.pop [function] [call site] 00154
6 pygments.scanner.Scanner.scan [function] [call site] 00155
6 pygments.scanner.Scanner.get_char [function] [call site] 00156
6 stack.pop [function] [call site] 00157
6 pygments.scanner.Scanner.scan [function] [call site] 00158
6 pygments.scanner.Scanner.scan [function] [call site] 00159
6 stack.pop [function] [call site] 00160
6 pygments.scanner.Scanner.scan [function] [call site] 00161
6 scanner.match.startswith [function] [call site] 00162
6 pygments.scanner.Scanner.scan [function] [call site] 00163
6 pygments.scanner.Scanner.scan [function] [call site] 00164
6 stack.append [function] [call site] 00165
6 pygments.scanner.Scanner.scan [function] [call site] 00166
6 pygments.scanner.Scanner.scan [function] [call site] 00167
6 scanner.match.lower [function] [call site] 00168
6 pygments.scanner.Scanner.scan [function] [call site] 00169
6 pygments.scanner.Scanner.scan [function] [call site] 00170
6 pygments.scanner.Scanner.scan [function] [call site] 00171
6 pygments.scanner.Scanner.scan [function] [call site] 00172
6 pygments.scanner.Scanner.scan [function] [call site] 00173
6 pygments.scanner.Scanner.get_char [function] [call site] 00174
6 stack.pop [function] [call site] 00175
6 scanner.match.strip [function] [call site] 00176
5 pygments.lexers.lilypond.LilyPondLexer.get_tokens_unprocessed [function] [call site] 00177
5 pygments.lexers.dylan.DylanLexer.get_tokens_unprocessed [function] [call site] 00178
5 pygments.lexers.php.PhpLexer.get_tokens_unprocessed [function] [call site] 00179
5 pygments.lexers.data.JsonLexer.get_tokens_unprocessed [function] [call site] 00180
6 .enumerate [function] [call site] 00181
6 queue.append [function] [call site] 00182
6 queue.append [function] [call site] 00183
6 queue.append [function] [call site] 00184
6 queue.append [function] [call site] 00185
6 queue.clear [function] [call site] 00186
6 queue.clear [function] [call site] 00187
6 queue.clear [function] [call site] 00188
6 queue.clear [function] [call site] 00189
6 queue.clear [function] [call site] 00190
6 queue.clear [function] [call site] 00191
5 pygments.lexers.erlang.ElixirLexer.get_tokens_unprocessed [function] [call site] 00192
5 pygments.lexers.templates.CheetahPythonLexer.get_tokens_unprocessed [function] [call site] 00193
6 pygments.lexer.Lexer.__init__ [function] [call site] 00194
7 pygments.util.get_bool_opt [function] [call site] 00195
8 options.get [function] [call site] 00196
8 .isinstance [function] [call site] 00197
8 .isinstance [function] [call site] 00198
8 .isinstance [function] [call site] 00200
8 string.lower [function] [call site] 00201
8 string.lower [function] [call site] 00202
7 pygments.util.get_bool_opt [function] [call site] 00203
7 pygments.util.get_bool_opt [function] [call site] 00204
7 pygments.util.get_int_opt [function] [call site] 00205
7 options.get [function] [call site] 00208
7 options.get [function] [call site] 00209
7 pygments.util.get_list_opt [function] [call site] 00210
7 pygments.lexer.Lexer.add_filter [function] [call site] 00216
8 .isinstance [function] [call site] 00217
8 pygments.filters.get_filter_by_name [function] [call site] 00218
9 pygments.filters.find_filter_class [function] [call site] 00219
10 pygments.plugin.find_plugin_filters [function] [call site] 00220
11 pygments.plugin.iter_entry_points [function] [call site] 00221
11 pkg_resources.iter_entry_points.load [function] [call site] 00222
6 pygments.lexers.scripting.LuaLexer.get_tokens_unprocessed [function] [call site] 00223
6 pygments.lexer.RegexLexer.get_tokens_unprocessed [function] [call site] 00224
6 pygments.lexers.erlang.ElixirLexer.get_tokens_unprocessed [function] [call site] 00225
6 pygments.lexers.haskell.CryptolLexer.get_tokens_unprocessed [function] [call site] 00226
6 pygments.lexers.lilypond.LilyPondLexer.get_tokens_unprocessed [function] [call site] 00227
6 pygments.lexers.dylan.DylanLexer.get_tokens_unprocessed [function] [call site] 00228
6 pygments.lexers.php.PhpLexer.get_tokens_unprocessed [function] [call site] 00229
5 pygments.lexers.haskell.CryptolLexer.get_tokens_unprocessed [function] [call site] 00230
5 pygments.lexers.special.TextLexer.get_tokens_unprocessed [function] [call site] 00231
5 pygments.formatters.latex.LatexEmbeddedLexer.get_tokens_unprocessed [function] [call site] 00232
6 pygments.formatters.latex.LatexEmbeddedLexer._find_safe_escape_tokens [function] [call site] 00233
7 pygments.formatters.latex.LatexEmbeddedLexer._filter_to [function] [call site] 00234
7 pygments.lexers.special.TextLexer.get_tokens_unprocessed [function] [call site] 00235
7 pygments.formatters.latex.LatexEmbeddedLexer.get_tokens_unprocessed [function] [call site] 00236
7 pygments.formatters.latex.LatexEmbeddedLexer._find_escape_tokens [function] [call site] 00237
6 insertions.append [function] [call site] 00247
6 insertion_buf.append [function] [call site] 00248
6 insertions.append [function] [call site] 00250
6 pygments.lexers.special.TextLexer.get_tokens_unprocessed [function] [call site] 00262
6 pygments.formatters.latex.LatexEmbeddedLexer.get_tokens_unprocessed [function] [call site] 00263
4 pygments.filter.apply_filters [function] [call site] 00264
5 pygments.filter.apply_filters._apply [function] [call site] 00265
6 filter_.filter [function] [call site] 00266
3 .isinstance [function] [call site] 00267
3 .issubclass [function] [call site] 00268
2 pygments.format [function] [call site] 00269
3 io.BytesIO [function] [call site] 00271
3 io.StringIO [function] [call site] 00272
3 pygments.formatters.terminal.TerminalFormatter.format [function] [call site] 00273
4 pygments.formatters.terminal.TerminalFormatter.format [function] [call site] 00274
4 pygments.formatters.terminal256.Terminal256Formatter.format [function] [call site] 00275
5 pygments.formatters.terminal.TerminalFormatter.format [function] [call site] 00276
5 pygments.formatters.terminal256.Terminal256Formatter.format [function] [call site] 00277
5 pygments.formatter.Formatter.format [function] [call site] 00278
6 codecs.lookup [function] [call site] 00279
6 pygments.formatters.terminal256.Terminal256Formatter.format_unencoded [function] [call site] 00280
7 pygments.formatters.terminal256.Terminal256Formatter._write_lineno [function] [call site] 00281
8 outfile.write [function] [call site] 00282
7 value.split [function] [call site] 00284
7 outfile.write [function] [call site] 00285
7 pygments.formatters.terminal256.Terminal256Formatter._write_lineno [function] [call site] 00286
7 outfile.write [function] [call site] 00287
7 outfile.write [function] [call site] 00288
7 outfile.write [function] [call site] 00289
7 outfile.write [function] [call site] 00290
6 pygments.formatters.terminal.TerminalFormatter.format_unencoded [function] [call site] 00291
7 pygments.formatters.terminal.TerminalFormatter._write_lineno [function] [call site] 00292
8 outfile.write [function] [call site] 00293
7 pygments.formatters.terminal.TerminalFormatter._get_color [function] [call site] 00294
7 value.splitlines [function] [call site] 00295
7 line.rstrip [function] [call site] 00296
7 pygments.console.ansiformat [function] [call site] 00297
8 result.append [function] [call site] 00298
8 result.append [function] [call site] 00299
8 result.append [function] [call site] 00300
8 result.append [function] [call site] 00301
8 result.append [function] [call site] 00302
8 result.append [function] [call site] 00303
7 outfile.write [function] [call site] 00304
7 line.rstrip [function] [call site] 00305
7 outfile.write [function] [call site] 00306
7 line.endswith [function] [call site] 00307
7 pygments.formatters.terminal.TerminalFormatter._write_lineno [function] [call site] 00308
7 outfile.write [function] [call site] 00309
7 outfile.write [function] [call site] 00310
4 pygments.formatter.Formatter.format [function] [call site] 00311
3 pygments.formatters.terminal256.Terminal256Formatter.format [function] [call site] 00312
3 realoutfile.getvalue [function] [call site] 00313
3 pygments.formatters.terminal.TerminalFormatter.format [function] [call site] 00314
3 pygments.formatters.terminal256.Terminal256Formatter.format [function] [call site] 00315
3 .isinstance [function] [call site] 00316
3 .issubclass [function] [call site] 00317