Fuzz introspector: fuzz_jinja_compile_expr
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
3 0 EP call site: {node_id} jinja2.environment.Environment.compile_expression
3 12 jinja2.environment.Environment._tokenize call site: {node_id} jinja2.lexer.TokenStream.__init__
2 300 jinja2.parser.Parser._fail_ut_eof call site: {node_id} .map
1 7 jinja2.environment.Environment.preprocess call site: {node_id} jinja2.environment.Environment.iter_extensions
1 10 jinja2.environment.Environment.iter_extensions call site: {node_id} .str
1 75 jinja2.parser.Parser.parse_tuple call site: {node_id} jinja2.lexer.describe_token
1 126 jinja2.parser.Parser.parse_subscript call site: {node_id} jinja2.parser.Parser.fail
1 138 jinja2.parser.Parser.parse_call_args call site: {node_id} jinja2.lexer.TokenStream.look
1 169 jinja2.parser.Parser.parse_test call site: {node_id} jinja2.lexer.Token.test_any
1 266 jinja2.parser.Parser.parse_assign_target call site: {node_id} jinja2.parser.Parser.parse_primary
1 278 jinja2.parser.Parser.parse_assign_target call site: {node_id} .type
1 315 jinja2.parser.Parser.subparse call site: {node_id} body.extend

Fuzzer calltree

0 ...fuzz_jinja_compile_expr.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 fdp.ConsumeString [function] [call site] 00002
1 jinja2.environment.Environment.compile_expression [function] [call site] 00003
2 jinja2.parser.Parser.__init__ [function] [call site] 00004
3 jinja2.environment.Environment._tokenize [function] [call site] 00005
4 jinja2.environment.Environment.preprocess [function] [call site] 00006
5 functools.reduce [function] [call site] 00007
5 jinja2.environment.Environment.iter_extensions [function] [call site] 00008
4 jinja2.environment.Environment.iter_extensions [function] [call site] 00012
4 ext.filter_stream [function] [call site] 00013
4 .isinstance [function] [call site] 00014
4 jinja2.lexer.TokenStream.__init__ [function] [call site] 00015
5 collections.deque [function] [call site] 00017
5 typing.NamedTuple.__init__ [function] [call site] 00018
3 jinja2.environment.Environment.iter_extensions [function] [call site] 00020
2 jinja2.parser.Parser.parse_expression [function] [call site] 00021
3 jinja2.parser.Parser.parse_condexpr [function] [call site] 00022
4 jinja2.parser.Parser.parse_or [function] [call site] 00023
5 jinja2.parser.Parser.parse_and [function] [call site] 00024
6 jinja2.parser.Parser.parse_not [function] [call site] 00025
7 jinja2.lexer.Token.test [function] [call site] 00026
8 expr.split [function] [call site] 00027
7 jinja2.parser.Parser.parse_not [function] [call site] 00029
7 jinja2.nodes.Node.__init__ [function] [call site] 00030
7 jinja2.parser.Parser.parse_compare [function] [call site] 00037
8 jinja2.parser.Parser.parse_math1 [function] [call site] 00038
9 jinja2.parser.Parser.parse_concat [function] [call site] 00039
10 jinja2.parser.Parser.parse_math2 [function] [call site] 00040
11 jinja2.parser.Parser.parse_pow [function] [call site] 00041
12 jinja2.parser.Parser.parse_unary [function] [call site] 00042
13 jinja2.parser.Parser.parse_unary [function] [call site] 00044
13 jinja2.nodes.Node.__init__ [function] [call site] 00045
13 jinja2.parser.Parser.parse_unary [function] [call site] 00047
13 jinja2.nodes.Node.__init__ [function] [call site] 00048
13 jinja2.parser.Parser.parse_primary [function] [call site] 00049
14 jinja2.nodes.Node.__init__ [function] [call site] 00050
14 jinja2.nodes.Node.__init__ [function] [call site] 00051
14 jinja2.nodes.Node.__init__ [function] [call site] 00052
14 buf.append [function] [call site] 00055
14 jinja2.nodes.Node.__init__ [function] [call site] 00057
14 jinja2.nodes.Node.__init__ [function] [call site] 00059
14 jinja2.parser.Parser.parse_tuple [function] [call site] 00061
15 jinja2.lexer.TokenStream.expect [function] [call site] 00062
16 jinja2.lexer.Token.test [function] [call site] 00063
16 jinja2.lexer.describe_token_expr [function] [call site] 00064
17 expr.split [function] [call site] 00065
17 jinja2.lexer._describe_token_type [function] [call site] 00066
15 jinja2.parser.Parser.is_tuple_end [function] [call site] 00068
16 jinja2.lexer.Token.test_any [function] [call site] 00069
17 jinja2.lexer.Token.test [function] [call site] 00070
15 jinja2.parser.Parser.parse_expression [function] [call site] 00072
15 jinja2.parser.Parser.parse_primary [function] [call site] 00073
15 args.append [function] [call site] 00074
15 jinja2.parser.Parser.fail [function] [call site] 00075
15 jinja2.lexer.describe_token [function] [call site] 00076
16 jinja2.lexer._describe_token_type [function] [call site] 00077
15 jinja2.nodes.Node.__init__ [function] [call site] 00078
14 jinja2.lexer.TokenStream.expect [function] [call site] 00079
14 jinja2.parser.Parser.parse_list [function] [call site] 00080
15 jinja2.lexer.TokenStream.expect [function] [call site] 00081
15 jinja2.lexer.TokenStream.expect [function] [call site] 00082
15 jinja2.parser.Parser.parse_expression [function] [call site] 00083
15 items.append [function] [call site] 00084
15 jinja2.lexer.TokenStream.expect [function] [call site] 00085
15 jinja2.nodes.Node.__init__ [function] [call site] 00086
14 jinja2.parser.Parser.parse_dict [function] [call site] 00087
15 jinja2.lexer.TokenStream.expect [function] [call site] 00088
15 jinja2.lexer.TokenStream.expect [function] [call site] 00089
15 jinja2.parser.Parser.parse_expression [function] [call site] 00090
15 jinja2.lexer.TokenStream.expect [function] [call site] 00091
15 jinja2.parser.Parser.parse_expression [function] [call site] 00092
15 jinja2.nodes.Node.__init__ [function] [call site] 00093
15 items.append [function] [call site] 00094
15 jinja2.lexer.TokenStream.expect [function] [call site] 00095
15 jinja2.nodes.Node.__init__ [function] [call site] 00096
14 jinja2.lexer.describe_token [function] [call site] 00097
14 jinja2.parser.Parser.fail [function] [call site] 00098
13 jinja2.parser.Parser.parse_postfix [function] [call site] 00099
14 jinja2.parser.Parser.parse_subscript [function] [call site] 00100
15 jinja2.nodes.Node.__init__ [function] [call site] 00103
15 jinja2.parser.Parser.fail [function] [call site] 00104
15 jinja2.nodes.Node.__init__ [function] [call site] 00105
15 jinja2.nodes.Node.__init__ [function] [call site] 00106
15 jinja2.lexer.TokenStream.expect [function] [call site] 00107
15 jinja2.parser.Parser.parse_subscribed [function] [call site] 00108
16 jinja2.parser.Parser.parse_expression [function] [call site] 00110
16 args.append [function] [call site] 00112
16 jinja2.parser.Parser.parse_expression [function] [call site] 00113
16 args.append [function] [call site] 00114
16 args.append [function] [call site] 00115
16 jinja2.parser.Parser.parse_expression [function] [call site] 00117
16 args.append [function] [call site] 00118
16 args.append [function] [call site] 00119
16 args.append [function] [call site] 00120
16 jinja2.nodes.Node.__init__ [function] [call site] 00121
15 args.append [function] [call site] 00122
15 jinja2.lexer.TokenStream.expect [function] [call site] 00123
15 jinja2.nodes.Node.__init__ [function] [call site] 00125
15 jinja2.nodes.Node.__init__ [function] [call site] 00126
15 jinja2.parser.Parser.fail [function] [call site] 00127
14 jinja2.parser.Parser.parse_call [function] [call site] 00128
15 jinja2.parser.Parser.parse_call_args [function] [call site] 00129
16 jinja2.lexer.TokenStream.expect [function] [call site] 00130
16 jinja2.lexer.TokenStream.expect [function] [call site] 00131
16 jinja2.parser.Parser.parse_call_args.ensure [function] [call site] 00132
17 jinja2.parser.Parser.fail [function] [call site] 00133
16 jinja2.parser.Parser.parse_expression [function] [call site] 00135
16 jinja2.parser.Parser.parse_call_args.ensure [function] [call site] 00136
16 jinja2.parser.Parser.parse_expression [function] [call site] 00138
16 jinja2.lexer.TokenStream.look [function] [call site] 00139
17 jinja2.lexer.TokenStream.push [function] [call site] 00141
16 jinja2.parser.Parser.parse_call_args.ensure [function] [call site] 00142
16 jinja2.lexer.TokenStream.skip [function] [call site] 00143
16 jinja2.parser.Parser.parse_expression [function] [call site] 00146
16 jinja2.nodes.Node.__init__ [function] [call site] 00147
16 kwargs.append [function] [call site] 00148
16 jinja2.parser.Parser.parse_call_args.ensure [function] [call site] 00149
16 jinja2.parser.Parser.parse_expression [function] [call site] 00150
16 args.append [function] [call site] 00151
16 jinja2.lexer.TokenStream.expect [function] [call site] 00152
15 jinja2.nodes.Node.__init__ [function] [call site] 00153
13 jinja2.parser.Parser.parse_filter_expr [function] [call site] 00154
14 jinja2.parser.Parser.parse_filter [function] [call site] 00155
15 jinja2.lexer.TokenStream.expect [function] [call site] 00157
15 jinja2.lexer.TokenStream.expect [function] [call site] 00159
15 jinja2.parser.Parser.parse_call_args [function] [call site] 00160
15 jinja2.nodes.Node.__init__ [function] [call site] 00161
14 jinja2.parser.Parser.parse_test [function] [call site] 00162
15 jinja2.lexer.Token.test [function] [call site] 00164
15 jinja2.lexer.TokenStream.expect [function] [call site] 00166
15 jinja2.lexer.TokenStream.expect [function] [call site] 00168
15 jinja2.parser.Parser.parse_call_args [function] [call site] 00169
15 jinja2.lexer.Token.test_any [function] [call site] 00170
15 jinja2.lexer.Token.test [function] [call site] 00171
15 jinja2.parser.Parser.fail [function] [call site] 00172
15 jinja2.parser.Parser.parse_primary [function] [call site] 00173
15 jinja2.parser.Parser.parse_postfix [function] [call site] 00174
15 jinja2.nodes.Node.__init__ [function] [call site] 00175
15 jinja2.nodes.Node.__init__ [function] [call site] 00176
14 jinja2.parser.Parser.parse_call [function] [call site] 00177
12 jinja2.parser.Parser.parse_unary [function] [call site] 00179
12 jinja2.nodes.Node.__init__ [function] [call site] 00180
11 jinja2.parser.Parser.parse_pow [function] [call site] 00182
10 jinja2.parser.Parser.parse_math2 [function] [call site] 00184
10 args.append [function] [call site] 00185
10 jinja2.nodes.Node.__init__ [function] [call site] 00187
9 jinja2.parser.Parser.parse_concat [function] [call site] 00189
8 jinja2.parser.Parser.parse_math1 [function] [call site] 00191
8 jinja2.nodes.Node.__init__ [function] [call site] 00192
8 ops.append [function] [call site] 00193
8 jinja2.lexer.TokenStream.skip_if [function] [call site] 00194
9 jinja2.lexer.TokenStream.next_if [function] [call site] 00195
10 jinja2.lexer.Token.test [function] [call site] 00196
8 jinja2.parser.Parser.parse_math1 [function] [call site] 00198
8 jinja2.nodes.Node.__init__ [function] [call site] 00199
8 ops.append [function] [call site] 00200
8 jinja2.lexer.Token.test [function] [call site] 00201
8 jinja2.lexer.TokenStream.look [function] [call site] 00202
8 jinja2.lexer.Token.test [function] [call site] 00203
8 jinja2.lexer.TokenStream.skip [function] [call site] 00204
8 jinja2.parser.Parser.parse_math1 [function] [call site] 00205
8 jinja2.nodes.Node.__init__ [function] [call site] 00206
8 ops.append [function] [call site] 00207
8 jinja2.nodes.Node.__init__ [function] [call site] 00208
6 jinja2.lexer.TokenStream.skip_if [function] [call site] 00209
6 jinja2.parser.Parser.parse_not [function] [call site] 00210
6 jinja2.nodes.Node.__init__ [function] [call site] 00211
5 jinja2.lexer.TokenStream.skip_if [function] [call site] 00212
5 jinja2.parser.Parser.parse_and [function] [call site] 00213
5 jinja2.nodes.Node.__init__ [function] [call site] 00214
4 jinja2.lexer.TokenStream.skip_if [function] [call site] 00215
4 jinja2.parser.Parser.parse_or [function] [call site] 00216
4 jinja2.lexer.TokenStream.skip_if [function] [call site] 00217
4 jinja2.parser.Parser.parse_condexpr [function] [call site] 00218
4 jinja2.nodes.Node.__init__ [function] [call site] 00219
3 jinja2.parser.Parser.parse_or [function] [call site] 00220
2 jinja2.nodes.Node.set_environment [function] [call site] 00221
3 collections.deque [function] [call site] 00222
3 collections.deque.popleft [function] [call site] 00223
3 node.iter_child_nodes [function] [call site] 00224
3 collections.deque.extend [function] [call site] 00225
2 jinja2.environment.Environment.handle_exception [function] [call site] 00226
2 jinja2.nodes.Node.__init__ [function] [call site] 00227
2 jinja2.nodes.Node.__init__ [function] [call site] 00228
2 jinja2.nodes.Node.__init__ [function] [call site] 00229
2 jinja2.environment.Environment.from_string [function] [call site] 00230
3 jinja2.environment.Environment.make_globals [function] [call site] 00231
4 collections.ChainMap [function] [call site] 00232
3 jinja2.environment.Environment.compile [function] [call site] 00233
4 .isinstance [function] [call site] 00234
4 jinja2.environment.Environment._parse [function] [call site] 00235
5 jinja2.parser.Parser.__init__ [function] [call site] 00236
5 jinja2.parser.Parser.parse [function] [call site] 00237
6 jinja2.parser.Parser.subparse [function] [call site] 00238
7 jinja2.nodes.Node.__init__ [function] [call site] 00239
7 jinja2.parser.Parser.parse_tuple [function] [call site] 00242
7 jinja2.lexer.TokenStream.expect [function] [call site] 00243
7 jinja2.parser.Parser.subparse.flush_data [function] [call site] 00244
8 jinja2.nodes.Node.__init__ [function] [call site] 00245
8 body.append [function] [call site] 00246
7 jinja2.lexer.Token.test_any [function] [call site] 00248
7 jinja2.parser.Parser.parse_statement [function] [call site] 00249
8 jinja2.parser.Parser.fail [function] [call site] 00250
8 jinja2.parser.Parser.parse_call_block [function] [call site] 00252
9 jinja2.nodes.Node.__init__ [function] [call site] 00254
9 jinja2.parser.Parser.parse_signature [function] [call site] 00255
10 jinja2.lexer.TokenStream.expect [function] [call site] 00256
10 jinja2.lexer.TokenStream.expect [function] [call site] 00257
10 jinja2.parser.Parser.parse_assign_target [function] [call site] 00258
11 jinja2.lexer.TokenStream.look [function] [call site] 00259
11 jinja2.lexer.TokenStream.expect [function] [call site] 00260
11 jinja2.lexer.TokenStream.expect [function] [call site] 00262
11 jinja2.nodes.Node.__init__ [function] [call site] 00263
11 jinja2.lexer.TokenStream.expect [function] [call site] 00264
11 jinja2.nodes.Node.__init__ [function] [call site] 00265
11 jinja2.parser.Parser.parse_tuple [function] [call site] 00266
11 jinja2.parser.Parser.parse_primary [function] [call site] 00267
11 jinja2.nodes.Node.set_ctx [function] [call site] 00268
12 collections.deque [function] [call site] 00269
12 collections.deque.popleft [function] [call site] 00270
12 node.iter_child_nodes [function] [call site] 00271
12 collections.deque.extend [function] [call site] 00272
11 jinja2.nodes.Name.can_assign [function] [call site] 00273
11 jinja2.nodes.Tuple.can_assign [function] [call site] 00274
12 item.can_assign [function] [call site] 00275
11 jinja2.nodes.Expr.can_assign [function] [call site] 00276
11 jinja2.nodes.NSRef.can_assign [function] [call site] 00277
11 jinja2.parser.Parser.fail [function] [call site] 00278
10 jinja2.nodes.Node.set_ctx [function] [call site] 00280
10 jinja2.lexer.TokenStream.skip_if [function] [call site] 00281
10 jinja2.parser.Parser.parse_expression [function] [call site] 00282
10 defaults.append [function] [call site] 00283
10 jinja2.parser.Parser.fail [function] [call site] 00284
10 args.append [function] [call site] 00285
10 jinja2.lexer.TokenStream.expect [function] [call site] 00286
9 jinja2.parser.Parser.parse_expression [function] [call site] 00287
9 .isinstance [function] [call site] 00288
9 jinja2.parser.Parser.fail [function] [call site] 00289
9 jinja2.parser.Parser.parse_statements [function] [call site] 00290
10 jinja2.lexer.TokenStream.skip_if [function] [call site] 00291
10 jinja2.lexer.TokenStream.expect [function] [call site] 00292
10 jinja2.parser.Parser.subparse [function] [call site] 00293
10 jinja2.parser.Parser.fail_eof [function] [call site] 00294
11 stack.append [function] [call site] 00296
11 jinja2.parser.Parser._fail_ut_eof [function] [call site] 00297
12 expected.update [function] [call site] 00300
12 message.append [function] [call site] 00303
12 message.append [function] [call site] 00304
12 message.append [function] [call site] 00305
12 jinja2.parser.Parser.fail [function] [call site] 00306
8 jinja2.parser.Parser.parse_filter_block [function] [call site] 00308
9 jinja2.nodes.Node.__init__ [function] [call site] 00310
9 jinja2.parser.Parser.parse_filter [function] [call site] 00311
9 jinja2.parser.Parser.parse_statements [function] [call site] 00312
8 jinja2.parser.Parser.fail_unknown_tag [function] [call site] 00313
9 jinja2.parser.Parser._fail_ut_eof [function] [call site] 00314
7 .isinstance [function] [call site] 00315
7 body.extend [function] [call site] 00316
7 body.append [function] [call site] 00317
7 jinja2.lexer.TokenStream.expect [function] [call site] 00318
7 jinja2.parser.Parser.subparse.flush_data [function] [call site] 00319
6 jinja2.nodes.Node.__init__ [function] [call site] 00320
6 jinja2.nodes.Node.set_environment [function] [call site] 00321
4 jinja2.environment.Environment._generate [function] [call site] 00322
5 jinja2.compiler.generate [function] [call site] 00323
6 .isinstance [function] [call site] 00324
6 environment.code_generator_class [function] [call site] 00325
6 generator.visit [function] [call site] 00326
6 generator.stream.getvalue [function] [call site] 00327
4 jinja2.environment.Environment._compile [function] [call site] 00328
5 jinja2.environment.Environment.compile [function] [call site] 00329
4 jinja2.environment.Environment.handle_exception [function] [call site] 00330
3 cls.from_code [function] [call site] 00331
2 jinja2.environment.TemplateExpression.__init__ [function] [call site] 00332