Fuzz introspector: fuzz_jinja_compile_templates
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
375 0 EP call site: 00000 jinja2.environment.Environment.compile_templates

Fuzzer calltree

0 ...fuzz_jinja_compile_templates.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 fdp.ConsumeString [function] [call site] 00002
1 os.path.join [function] [call site] 00003
1 os.path.isdir [function] [call site] 00004
1 os.path.isfile [function] [call site] 00006
1 os.remove [function] [call site] 00007
1 <builtin>.open [function] [call site] 00008
1 jinja2.loaders.DictLoader.__init__ [function] [call site] 00010
1 jinja2.environment.Environment.__init__ [function] [call site] 00011
2 DEFAULT_FILTERS.copy [function] [call site] 00012
2 DEFAULT_TESTS.copy [function] [call site] 00013
2 DEFAULT_NAMESPACE.copy [function] [call site] 00014
2 jinja2.environment.create_cache [function] [call site] 00015
3 jinja2.utils.LRUCache.__init__ [function] [call site] 00016
4 collections.deque [function] [call site] 00017
4 jinja2.utils.LRUCache._postinit [function] [call site] 00018
5 threading.Lock [function] [call site] 00019
2 DEFAULT_POLICIES.copy [function] [call site] 00020
2 jinja2.environment.load_extensions [function] [call site] 00021
3 <builtin>.isinstance [function] [call site] 00022
3 jinja2.utils.import_string [function] [call site] 00023
4 import_name.split [function] [call site] 00024
4 import_name.rpartition [function] [call site] 00025
4 <builtin>.__import__ [function] [call site] 00026
4 <builtin>.__import__ [function] [call site] 00027
4 <builtin>.getattr [function] [call site] 00028
3 typing.cast [function] [call site] 00029
2 jinja2.environment._environment_config_check [function] [call site] 00030
3 <builtin>.issubclass [function] [call site] 00031
1 jinja2.environment.Environment.compile_templates [function] [call site] 00032
2 zipfile.ZipFile [function] [call site] 00033
2 <builtin>.dict [function] [call site] 00034
2 jinja2.environment.Environment.compile_templates.log_function [function] [call site] 00035
2 os.path.isdir [function] [call site] 00036
2 os.makedirs [function] [call site] 00037
2 jinja2.environment.Environment.compile_templates.log_function [function] [call site] 00038
2 jinja2.environment.Environment.list_templates [function] [call site] 00039
3 jinja2.loaders.DictLoader.list_templates [function] [call site] 00040
4 <builtin>.sorted [function] [call site] 00041
3 jinja2.environment.Environment.list_templates.filter_func [function] [call site] 00042
2 jinja2.loaders.DictLoader.get_source [function] [call site] 00044
2 jinja2.environment.Environment.compile [function] [call site] 00045
3 <builtin>.isinstance [function] [call site] 00046
3 jinja2.environment.Environment._parse [function] [call site] 00047
4 jinja2.parser.Parser.__init__ [function] [call site] 00048
5 jinja2.environment.Environment._tokenize [function] [call site] 00049
6 jinja2.environment.Environment.preprocess [function] [call site] 00050
7 functools.reduce [function] [call site] 00051
7 jinja2.environment.Environment.iter_extensions [function] [call site] 00052
8 <builtin>.sorted [function] [call site] 00053
8 <builtin>.iter [function] [call site] 00054
7 <builtin>.str [function] [call site] 00055
6 jinja2.environment.Environment.iter_extensions [function] [call site] 00056
6 ext.filter_stream [function] [call site] 00057
6 <builtin>.isinstance [function] [call site] 00058
6 jinja2.lexer.TokenStream.__init__ [function] [call site] 00059
7 <builtin>.iter [function] [call site] 00060
7 collections.deque [function] [call site] 00061
7 typing.NamedTuple.__init__ [function] [call site] 00062
7 <builtin>.next [function] [call site] 00063
5 jinja2.environment.Environment.iter_extensions [function] [call site] 00064
4 jinja2.parser.Parser.parse [function] [call site] 00065
5 jinja2.parser.Parser.subparse [function] [call site] 00066
6 jinja2.nodes.Node.__init__ [function] [call site] 00067
7 <builtin>.len [function] [call site] 00068
7 <builtin>.len [function] [call site] 00069
7 <builtin>.zip [function] [call site] 00070
7 <builtin>.setattr [function] [call site] 00071
7 attributes.pop [function] [call site] 00072
7 <builtin>.setattr [function] [call site] 00073
6 <builtin>.next [function] [call site] 00074
6 <builtin>.next [function] [call site] 00075
6 jinja2.parser.Parser.parse_tuple [function] [call site] 00076
7 jinja2.lexer.TokenStream.expect [function] [call site] 00077
8 jinja2.lexer.Token.test [function] [call site] 00078
9 expr.split [function] [call site] 00079
8 jinja2.lexer.describe_token_expr [function] [call site] 00080
9 expr.split [function] [call site] 00081
9 jinja2.lexer._describe_token_type [function] [call site] 00082
8 <builtin>.next [function] [call site] 00083
7 jinja2.parser.Parser.is_tuple_end [function] [call site] 00084
8 jinja2.lexer.Token.test_any [function] [call site] 00085
9 jinja2.lexer.Token.test [function] [call site] 00086
9 <builtin>.any [function] [call site] 00087
7 jinja2.parser.Parser.parse_tuple.parse [function] [call site] 00088
8 jinja2.parser.Parser.parse_primary [function] [call site] 00089
9 <builtin>.next [function] [call site] 00090
9 jinja2.nodes.Node.__init__ [function] [call site] 00091
9 jinja2.nodes.Node.__init__ [function] [call site] 00092
9 <builtin>.next [function] [call site] 00093
9 jinja2.lexer.TokenStream.expect [function] [call site] 00094
9 jinja2.nodes.Node.__init__ [function] [call site] 00095
9 jinja2.nodes.Node.__init__ [function] [call site] 00096
9 <builtin>.next [function] [call site] 00097
9 buf.append [function] [call site] 00098
9 <builtin>.next [function] [call site] 00099
9 jinja2.nodes.Node.__init__ [function] [call site] 00100
9 <builtin>.next [function] [call site] 00101
9 jinja2.nodes.Node.__init__ [function] [call site] 00102
9 <builtin>.next [function] [call site] 00103
9 jinja2.parser.Parser.parse_tuple [function] [call site] 00104
9 jinja2.lexer.TokenStream.expect [function] [call site] 00105
9 jinja2.parser.Parser.parse_list [function] [call site] 00106
10 jinja2.lexer.TokenStream.expect [function] [call site] 00107
10 jinja2.lexer.TokenStream.expect [function] [call site] 00108
10 jinja2.parser.Parser.parse_expression [function] [call site] 00109
11 jinja2.parser.Parser.parse_condexpr [function] [call site] 00110
12 jinja2.parser.Parser.parse_or [function] [call site] 00111
13 jinja2.parser.Parser.parse_and [function] [call site] 00112
14 jinja2.parser.Parser.parse_not [function] [call site] 00113
15 jinja2.lexer.Token.test [function] [call site] 00114
15 <builtin>.next [function] [call site] 00115
15 jinja2.parser.Parser.parse_not [function] [call site] 00116
15 jinja2.nodes.Node.__init__ [function] [call site] 00117
15 jinja2.parser.Parser.parse_compare [function] [call site] 00118
16 jinja2.parser.Parser.parse_math1 [function] [call site] 00119
17 jinja2.parser.Parser.parse_concat [function] [call site] 00120
18 jinja2.parser.Parser.parse_math2 [function] [call site] 00121
19 jinja2.parser.Parser.parse_pow [function] [call site] 00122
20 jinja2.parser.Parser.parse_unary [function] [call site] 00123
21 <builtin>.next [function] [call site] 00124
21 jinja2.parser.Parser.parse_unary [function] [call site] 00125
21 jinja2.nodes.Node.__init__ [function] [call site] 00126
21 <builtin>.next [function] [call site] 00127
21 jinja2.parser.Parser.parse_unary [function] [call site] 00128
21 jinja2.nodes.Node.__init__ [function] [call site] 00129
21 jinja2.parser.Parser.parse_primary [function] [call site] 00130
21 jinja2.parser.Parser.parse_postfix [function] [call site] 00131
22 jinja2.parser.Parser.parse_subscript [function] [call site] 00132
23 <builtin>.next [function] [call site] 00133
23 <builtin>.next [function] [call site] 00134
23 jinja2.nodes.Node.__init__ [function] [call site] 00135
23 jinja2.parser.Parser.fail [function] [call site] 00136
23 jinja2.nodes.Node.__init__ [function] [call site] 00137
23 jinja2.nodes.Node.__init__ [function] [call site] 00138
23 jinja2.lexer.TokenStream.expect [function] [call site] 00139
23 jinja2.parser.Parser.parse_subscribed [function] [call site] 00140
24 <builtin>.next [function] [call site] 00141
24 jinja2.parser.Parser.parse_expression [function] [call site] 00142
24 <builtin>.next [function] [call site] 00143
24 args.append [function] [call site] 00144
24 jinja2.parser.Parser.parse_expression [function] [call site] 00145
24 args.append [function] [call site] 00146
24 args.append [function] [call site] 00147
24 <builtin>.next [function] [call site] 00148
24 jinja2.parser.Parser.parse_expression [function] [call site] 00149
24 args.append [function] [call site] 00150
24 args.append [function] [call site] 00151
24 args.append [function] [call site] 00152
24 jinja2.nodes.Node.__init__ [function] [call site] 00153
23 args.append [function] [call site] 00154
23 jinja2.lexer.TokenStream.expect [function] [call site] 00155
23 <builtin>.len [function] [call site] 00156
23 jinja2.nodes.Node.__init__ [function] [call site] 00157
23 jinja2.nodes.Node.__init__ [function] [call site] 00158
23 jinja2.parser.Parser.fail [function] [call site] 00159
22 jinja2.parser.Parser.parse_call [function] [call site] 00160
23 jinja2.parser.Parser.parse_call_args [function] [call site] 00161
24 jinja2.lexer.TokenStream.expect [function] [call site] 00162
24 jinja2.lexer.TokenStream.expect [function] [call site] 00163
24 jinja2.parser.Parser.parse_call_args.ensure [function] [call site] 00164
25 jinja2.parser.Parser.fail [function] [call site] 00165
24 <builtin>.next [function] [call site] 00166
24 jinja2.parser.Parser.parse_expression [function] [call site] 00167
24 jinja2.parser.Parser.parse_call_args.ensure [function] [call site] 00168
24 <builtin>.next [function] [call site] 00169
24 jinja2.parser.Parser.parse_expression [function] [call site] 00170
24 jinja2.lexer.TokenStream.look [function] [call site] 00171
25 <builtin>.next [function] [call site] 00172
25 jinja2.lexer.TokenStream.push [function] [call site] 00173
24 jinja2.parser.Parser.parse_call_args.ensure [function] [call site] 00174
24 jinja2.lexer.TokenStream.skip [function] [call site] 00175
25 <builtin>.range [function] [call site] 00176
25 <builtin>.next [function] [call site] 00177
24 jinja2.parser.Parser.parse_expression [function] [call site] 00178
24 jinja2.nodes.Node.__init__ [function] [call site] 00179
24 kwargs.append [function] [call site] 00180
24 jinja2.parser.Parser.parse_call_args.ensure [function] [call site] 00181
24 jinja2.parser.Parser.parse_expression [function] [call site] 00182
24 args.append [function] [call site] 00183
24 jinja2.lexer.TokenStream.expect [function] [call site] 00184
23 jinja2.nodes.Node.__init__ [function] [call site] 00185
21 jinja2.parser.Parser.parse_filter_expr [function] [call site] 00186
22 jinja2.parser.Parser.parse_filter [function] [call site] 00187
23 <builtin>.next [function] [call site] 00188
23 jinja2.lexer.TokenStream.expect [function] [call site] 00189
23 <builtin>.next [function] [call site] 00190
23 jinja2.lexer.TokenStream.expect [function] [call site] 00191
23 jinja2.parser.Parser.parse_call_args [function] [call site] 00192
23 jinja2.nodes.Node.__init__ [function] [call site] 00193
22 jinja2.parser.Parser.parse_test [function] [call site] 00194
23 <builtin>.next [function] [call site] 00195
23 jinja2.lexer.Token.test [function] [call site] 00196
23 <builtin>.next [function] [call site] 00197
23 jinja2.lexer.TokenStream.expect [function] [call site] 00198
23 <builtin>.next [function] [call site] 00199
23 jinja2.lexer.TokenStream.expect [function] [call site] 00200
23 jinja2.parser.Parser.parse_call_args [function] [call site] 00201
23 jinja2.lexer.Token.test_any [function] [call site] 00202
23 jinja2.lexer.Token.test [function] [call site] 00203
23 jinja2.parser.Parser.fail [function] [call site] 00204
23 jinja2.parser.Parser.parse_primary [function] [call site] 00205
23 jinja2.parser.Parser.parse_postfix [function] [call site] 00206
23 jinja2.nodes.Node.__init__ [function] [call site] 00207
23 jinja2.nodes.Node.__init__ [function] [call site] 00208
22 jinja2.parser.Parser.parse_call [function] [call site] 00209
20 <builtin>.next [function] [call site] 00210
20 jinja2.parser.Parser.parse_unary [function] [call site] 00211
20 jinja2.nodes.Node.__init__ [function] [call site] 00212
19 <builtin>.next [function] [call site] 00213
19 jinja2.parser.Parser.parse_pow [function] [call site] 00214
18 <builtin>.next [function] [call site] 00215
18 jinja2.parser.Parser.parse_math2 [function] [call site] 00216
18 args.append [function] [call site] 00217
18 <builtin>.len [function] [call site] 00218
18 jinja2.nodes.Node.__init__ [function] [call site] 00219
17 <builtin>.next [function] [call site] 00220
17 jinja2.parser.Parser.parse_concat [function] [call site] 00221
16 <builtin>.next [function] [call site] 00222
16 jinja2.parser.Parser.parse_math1 [function] [call site] 00223
16 jinja2.nodes.Node.__init__ [function] [call site] 00224
16 ops.append [function] [call site] 00225
16 jinja2.lexer.TokenStream.skip_if [function] [call site] 00226
17 jinja2.lexer.TokenStream.next_if [function] [call site] 00227
18 jinja2.lexer.Token.test [function] [call site] 00228
18 <builtin>.next [function] [call site] 00229
16 jinja2.parser.Parser.parse_math1 [function] [call site] 00230
16 jinja2.nodes.Node.__init__ [function] [call site] 00231
16 ops.append [function] [call site] 00232
16 jinja2.lexer.Token.test [function] [call site] 00233
16 jinja2.lexer.TokenStream.look [function] [call site] 00234
16 jinja2.lexer.Token.test [function] [call site] 00235
16 jinja2.lexer.TokenStream.skip [function] [call site] 00236
16 jinja2.parser.Parser.parse_math1 [function] [call site] 00237
16 jinja2.nodes.Node.__init__ [function] [call site] 00238
16 ops.append [function] [call site] 00239
16 jinja2.nodes.Node.__init__ [function] [call site] 00240
14 jinja2.lexer.TokenStream.skip_if [function] [call site] 00241
14 jinja2.parser.Parser.parse_not [function] [call site] 00242
14 jinja2.nodes.Node.__init__ [function] [call site] 00243
13 jinja2.lexer.TokenStream.skip_if [function] [call site] 00244
13 jinja2.parser.Parser.parse_and [function] [call site] 00245
13 jinja2.nodes.Node.__init__ [function] [call site] 00246
12 jinja2.lexer.TokenStream.skip_if [function] [call site] 00247
12 jinja2.parser.Parser.parse_or [function] [call site] 00248
12 jinja2.lexer.TokenStream.skip_if [function] [call site] 00249
12 jinja2.parser.Parser.parse_condexpr [function] [call site] 00250
12 jinja2.nodes.Node.__init__ [function] [call site] 00251
11 jinja2.parser.Parser.parse_or [function] [call site] 00252
10 items.append [function] [call site] 00253
10 jinja2.lexer.TokenStream.expect [function] [call site] 00254
10 jinja2.nodes.Node.__init__ [function] [call site] 00255
9 jinja2.parser.Parser.parse_dict [function] [call site] 00256
10 jinja2.lexer.TokenStream.expect [function] [call site] 00257
10 jinja2.lexer.TokenStream.expect [function] [call site] 00258
10 jinja2.parser.Parser.parse_expression [function] [call site] 00259
10 jinja2.lexer.TokenStream.expect [function] [call site] 00260
10 jinja2.parser.Parser.parse_expression [function] [call site] 00261
10 jinja2.nodes.Node.__init__ [function] [call site] 00262
10 items.append [function] [call site] 00263
10 jinja2.lexer.TokenStream.expect [function] [call site] 00264
10 jinja2.nodes.Node.__init__ [function] [call site] 00265
9 jinja2.lexer.describe_token [function] [call site] 00266
10 jinja2.lexer._describe_token_type [function] [call site] 00267
9 jinja2.parser.Parser.fail [function] [call site] 00268
8 jinja2.parser.Parser.parse_expression [function] [call site] 00269
7 args.append [function] [call site] 00270
7 jinja2.parser.Parser.fail [function] [call site] 00271
7 jinja2.lexer.describe_token [function] [call site] 00272
7 jinja2.nodes.Node.__init__ [function] [call site] 00273
6 jinja2.lexer.TokenStream.expect [function] [call site] 00274
6 jinja2.parser.Parser.subparse.flush_data [function] [call site] 00275
7 jinja2.nodes.Node.__init__ [function] [call site] 00276
7 body.append [function] [call site] 00277
6 <builtin>.next [function] [call site] 00278
6 jinja2.lexer.Token.test_any [function] [call site] 00279
6 jinja2.parser.Parser.parse_statement [function] [call site] 00280
7 jinja2.parser.Parser.fail [function] [call site] 00281
7 <builtin>.getattr [function] [call site] 00282
7 jinja2.parser.Parser.parse_call_block [function] [call site] 00283
8 <builtin>.next [function] [call site] 00284
8 jinja2.nodes.Node.__init__ [function] [call site] 00285
8 jinja2.parser.Parser.parse_signature [function] [call site] 00286
9 jinja2.lexer.TokenStream.expect [function] [call site] 00287
9 jinja2.lexer.TokenStream.expect [function] [call site] 00288
9 jinja2.parser.Parser.parse_assign_target [function] [call site] 00289
10 jinja2.lexer.TokenStream.expect [function] [call site] 00290
10 jinja2.nodes.Node.__init__ [function] [call site] 00291
10 jinja2.parser.Parser.parse_tuple [function] [call site] 00292
10 jinja2.parser.Parser.parse_primary [function] [call site] 00293
10 jinja2.nodes.Node.set_ctx [function] [call site] 00294
11 collections.deque [function] [call site] 00295
11 collections.deque.popleft [function] [call site] 00296
11 node.iter_child_nodes [function] [call site] 00297
11 collections.deque.extend [function] [call site] 00298
10 jinja2.nodes.Tuple.can_assign [function] [call site] 00299
11 item.can_assign [function] [call site] 00300
10 jinja2.nodes.Name.can_assign [function] [call site] 00301
10 jinja2.nodes.NSRef.can_assign [function] [call site] 00302
10 jinja2.parser.Parser.fail [function] [call site] 00303
10 <builtin>.type [function] [call site] 00304
9 jinja2.nodes.Node.set_ctx [function] [call site] 00305
9 jinja2.lexer.TokenStream.skip_if [function] [call site] 00306
9 jinja2.parser.Parser.parse_expression [function] [call site] 00307
9 defaults.append [function] [call site] 00308
9 jinja2.parser.Parser.fail [function] [call site] 00309
9 args.append [function] [call site] 00310
9 jinja2.lexer.TokenStream.expect [function] [call site] 00311
8 jinja2.parser.Parser.parse_expression [function] [call site] 00312
8 <builtin>.isinstance [function] [call site] 00313
8 jinja2.parser.Parser.fail [function] [call site] 00314
8 jinja2.parser.Parser.parse_statements [function] [call site] 00315
9 jinja2.lexer.TokenStream.skip_if [function] [call site] 00316
9 jinja2.lexer.TokenStream.expect [function] [call site] 00317
9 jinja2.parser.Parser.subparse [function] [call site] 00318
9 jinja2.parser.Parser.fail_eof [function] [call site] 00319
10 <builtin>.list [function] [call site] 00320
10 stack.append [function] [call site] 00321
10 jinja2.parser.Parser._fail_ut_eof [function] [call site] 00322
11 <builtin>.set [function] [call site] 00323
11 <builtin>.map [function] [call site] 00324
11 expected.update [function] [call site] 00325
11 <builtin>.map [function] [call site] 00326
11 <builtin>.map [function] [call site] 00327
11 message.append [function] [call site] 00328
11 message.append [function] [call site] 00329
11 message.append [function] [call site] 00330
11 jinja2.parser.Parser.fail [function] [call site] 00331
9 <builtin>.next [function] [call site] 00332
7 jinja2.parser.Parser.parse_filter_block [function] [call site] 00333
8 <builtin>.next [function] [call site] 00334
8 jinja2.nodes.Node.__init__ [function] [call site] 00335
8 jinja2.parser.Parser.parse_filter [function] [call site] 00336
8 jinja2.parser.Parser.parse_statements [function] [call site] 00337
7 jinja2.parser.Parser.fail_unknown_tag [function] [call site] 00338
8 jinja2.parser.Parser._fail_ut_eof [function] [call site] 00339
6 <builtin>.isinstance [function] [call site] 00340
6 body.extend [function] [call site] 00341
6 body.append [function] [call site] 00342
6 jinja2.lexer.TokenStream.expect [function] [call site] 00343
6 jinja2.parser.Parser.subparse.flush_data [function] [call site] 00344
5 jinja2.nodes.Node.__init__ [function] [call site] 00345
5 jinja2.nodes.Node.set_environment [function] [call site] 00346
6 collections.deque [function] [call site] 00347
6 collections.deque.popleft [function] [call site] 00348
6 node.iter_child_nodes [function] [call site] 00349
6 collections.deque.extend [function] [call site] 00350
3 jinja2.environment.Environment._generate [function] [call site] 00351
4 jinja2.compiler.generate [function] [call site] 00352
5 <builtin>.isinstance [function] [call site] 00353
5 environment.code_generator_class [function] [call site] 00354
5 generator.visit [function] [call site] 00355
5 generator.stream.getvalue [function] [call site] 00356
3 jinja2.environment.Environment._compile [function] [call site] 00357
4 jinja2.environment.Environment.compile [function] [call site] 00358
3 jinja2.environment.Environment.handle_exception [function] [call site] 00359
2 jinja2.environment.Environment.compile_templates.log_function [function] [call site] 00360
2 jinja2.loaders.ModuleLoader.get_module_filename [function] [call site] 00361
3 jinja2.loaders.ModuleLoader.get_template_key [function] [call site] 00362
4 name.encode [function] [call site] 00363
4 hashlib.sha1 [function] [call site] 00364
4 hashlib.sha1.hexdigest [function] [call site] 00365
2 jinja2.environment.Environment.compile_templates.write_file [function] [call site] 00366
3 zipfile.ZipInfo [function] [call site] 00367
3 zipfile.ZipFile.writestr [function] [call site] 00368
3 os.path.join [function] [call site] 00369
3 <builtin>.open [function] [call site] 00370
3 data.encode [function] [call site] 00371
2 jinja2.environment.Environment.compile_templates.log_function [function] [call site] 00373
2 zipfile.ZipFile.close [function] [call site] 00374
2 jinja2.environment.Environment.compile_templates.log_function [function] [call site] 00375