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
330 0 EP call site: 00000 jinja2.environment.Environment.compile_expression

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
6 <builtin>.sorted [function] [call site] 00009
6 <builtin>.iter [function] [call site] 00010
5 <builtin>.str [function] [call site] 00011
4 jinja2.environment.Environment.iter_extensions [function] [call site] 00012
4 ext.filter_stream [function] [call site] 00013
4 <builtin>.isinstance [function] [call site] 00014
4 jinja2.lexer.TokenStream.__init__ [function] [call site] 00015
5 <builtin>.iter [function] [call site] 00016
5 collections.deque [function] [call site] 00017
5 typing.NamedTuple.__init__ [function] [call site] 00018
5 <builtin>.next [function] [call site] 00019
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 <builtin>.next [function] [call site] 00028
7 jinja2.parser.Parser.parse_not [function] [call site] 00029
7 jinja2.nodes.Node.__init__ [function] [call site] 00030
8 <builtin>.len [function] [call site] 00031
8 <builtin>.len [function] [call site] 00032
8 <builtin>.zip [function] [call site] 00033
8 <builtin>.setattr [function] [call site] 00034
8 attributes.pop [function] [call site] 00035
8 <builtin>.setattr [function] [call site] 00036
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 <builtin>.next [function] [call site] 00043
13 jinja2.parser.Parser.parse_unary [function] [call site] 00044
13 jinja2.nodes.Node.__init__ [function] [call site] 00045
13 <builtin>.next [function] [call site] 00046
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 <builtin>.next [function] [call site] 00050
14 jinja2.nodes.Node.__init__ [function] [call site] 00051
14 jinja2.nodes.Node.__init__ [function] [call site] 00052
14 <builtin>.next [function] [call site] 00053
14 jinja2.lexer.TokenStream.expect [function] [call site] 00054
15 jinja2.lexer.Token.test [function] [call site] 00055
15 jinja2.lexer.describe_token_expr [function] [call site] 00056
16 expr.split [function] [call site] 00057
16 jinja2.lexer._describe_token_type [function] [call site] 00058
15 <builtin>.next [function] [call site] 00059
14 jinja2.nodes.Node.__init__ [function] [call site] 00060
14 jinja2.nodes.Node.__init__ [function] [call site] 00061
14 <builtin>.next [function] [call site] 00062
14 buf.append [function] [call site] 00063
14 <builtin>.next [function] [call site] 00064
14 jinja2.nodes.Node.__init__ [function] [call site] 00065
14 <builtin>.next [function] [call site] 00066
14 jinja2.nodes.Node.__init__ [function] [call site] 00067
14 <builtin>.next [function] [call site] 00068
14 jinja2.parser.Parser.parse_tuple [function] [call site] 00069
15 jinja2.lexer.TokenStream.expect [function] [call site] 00070
15 jinja2.parser.Parser.is_tuple_end [function] [call site] 00071
16 jinja2.lexer.Token.test_any [function] [call site] 00072
17 jinja2.lexer.Token.test [function] [call site] 00073
17 <builtin>.any [function] [call site] 00074
15 jinja2.parser.Parser.parse_tuple.parse [function] [call site] 00075
16 jinja2.parser.Parser.parse_primary [function] [call site] 00076
16 jinja2.parser.Parser.parse_expression [function] [call site] 00077
15 args.append [function] [call site] 00078
15 jinja2.parser.Parser.fail [function] [call site] 00079
15 jinja2.lexer.describe_token [function] [call site] 00080
16 jinja2.lexer._describe_token_type [function] [call site] 00081
15 jinja2.nodes.Node.__init__ [function] [call site] 00082
14 jinja2.lexer.TokenStream.expect [function] [call site] 00083
14 jinja2.parser.Parser.parse_list [function] [call site] 00084
15 jinja2.lexer.TokenStream.expect [function] [call site] 00085
15 jinja2.lexer.TokenStream.expect [function] [call site] 00086
15 jinja2.parser.Parser.parse_expression [function] [call site] 00087
15 items.append [function] [call site] 00088
15 jinja2.lexer.TokenStream.expect [function] [call site] 00089
15 jinja2.nodes.Node.__init__ [function] [call site] 00090
14 jinja2.parser.Parser.parse_dict [function] [call site] 00091
15 jinja2.lexer.TokenStream.expect [function] [call site] 00092
15 jinja2.lexer.TokenStream.expect [function] [call site] 00093
15 jinja2.parser.Parser.parse_expression [function] [call site] 00094
15 jinja2.lexer.TokenStream.expect [function] [call site] 00095
15 jinja2.parser.Parser.parse_expression [function] [call site] 00096
15 jinja2.nodes.Node.__init__ [function] [call site] 00097
15 items.append [function] [call site] 00098
15 jinja2.lexer.TokenStream.expect [function] [call site] 00099
15 jinja2.nodes.Node.__init__ [function] [call site] 00100
14 jinja2.lexer.describe_token [function] [call site] 00101
14 jinja2.parser.Parser.fail [function] [call site] 00102
13 jinja2.parser.Parser.parse_postfix [function] [call site] 00103
14 jinja2.parser.Parser.parse_subscript [function] [call site] 00104
15 <builtin>.next [function] [call site] 00105
15 <builtin>.next [function] [call site] 00106
15 jinja2.nodes.Node.__init__ [function] [call site] 00107
15 jinja2.parser.Parser.fail [function] [call site] 00108
15 jinja2.nodes.Node.__init__ [function] [call site] 00109
15 jinja2.nodes.Node.__init__ [function] [call site] 00110
15 jinja2.lexer.TokenStream.expect [function] [call site] 00111
15 jinja2.parser.Parser.parse_subscribed [function] [call site] 00112
16 <builtin>.next [function] [call site] 00113
16 jinja2.parser.Parser.parse_expression [function] [call site] 00114
16 <builtin>.next [function] [call site] 00115
16 args.append [function] [call site] 00116
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 <builtin>.next [function] [call site] 00120
16 jinja2.parser.Parser.parse_expression [function] [call site] 00121
16 args.append [function] [call site] 00122
16 args.append [function] [call site] 00123
16 args.append [function] [call site] 00124
16 jinja2.nodes.Node.__init__ [function] [call site] 00125
15 args.append [function] [call site] 00126
15 jinja2.lexer.TokenStream.expect [function] [call site] 00127
15 <builtin>.len [function] [call site] 00128
15 jinja2.nodes.Node.__init__ [function] [call site] 00129
15 jinja2.nodes.Node.__init__ [function] [call site] 00130
15 jinja2.parser.Parser.fail [function] [call site] 00131
14 jinja2.parser.Parser.parse_call [function] [call site] 00132
15 jinja2.parser.Parser.parse_call_args [function] [call site] 00133
16 jinja2.lexer.TokenStream.expect [function] [call site] 00134
16 jinja2.lexer.TokenStream.expect [function] [call site] 00135
16 jinja2.parser.Parser.parse_call_args.ensure [function] [call site] 00136
17 jinja2.parser.Parser.fail [function] [call site] 00137
16 <builtin>.next [function] [call site] 00138
16 jinja2.parser.Parser.parse_expression [function] [call site] 00139
16 jinja2.parser.Parser.parse_call_args.ensure [function] [call site] 00140
16 <builtin>.next [function] [call site] 00141
16 jinja2.parser.Parser.parse_expression [function] [call site] 00142
16 jinja2.lexer.TokenStream.look [function] [call site] 00143
17 <builtin>.next [function] [call site] 00144
17 jinja2.lexer.TokenStream.push [function] [call site] 00145
16 jinja2.parser.Parser.parse_call_args.ensure [function] [call site] 00146
16 jinja2.lexer.TokenStream.skip [function] [call site] 00147
17 <builtin>.range [function] [call site] 00148
17 <builtin>.next [function] [call site] 00149
16 jinja2.parser.Parser.parse_expression [function] [call site] 00150
16 jinja2.nodes.Node.__init__ [function] [call site] 00151
16 kwargs.append [function] [call site] 00152
16 jinja2.parser.Parser.parse_call_args.ensure [function] [call site] 00153
16 jinja2.parser.Parser.parse_expression [function] [call site] 00154
16 args.append [function] [call site] 00155
16 jinja2.lexer.TokenStream.expect [function] [call site] 00156
15 jinja2.nodes.Node.__init__ [function] [call site] 00157
13 jinja2.parser.Parser.parse_filter_expr [function] [call site] 00158
14 jinja2.parser.Parser.parse_filter [function] [call site] 00159
15 <builtin>.next [function] [call site] 00160
15 jinja2.lexer.TokenStream.expect [function] [call site] 00161
15 <builtin>.next [function] [call site] 00162
15 jinja2.lexer.TokenStream.expect [function] [call site] 00163
15 jinja2.parser.Parser.parse_call_args [function] [call site] 00164
15 jinja2.nodes.Node.__init__ [function] [call site] 00165
14 jinja2.parser.Parser.parse_test [function] [call site] 00166
15 <builtin>.next [function] [call site] 00167
15 jinja2.lexer.Token.test [function] [call site] 00168
15 <builtin>.next [function] [call site] 00169
15 jinja2.lexer.TokenStream.expect [function] [call site] 00170
15 <builtin>.next [function] [call site] 00171
15 jinja2.lexer.TokenStream.expect [function] [call site] 00172
15 jinja2.parser.Parser.parse_call_args [function] [call site] 00173
15 jinja2.lexer.Token.test_any [function] [call site] 00174
15 jinja2.lexer.Token.test [function] [call site] 00175
15 jinja2.parser.Parser.fail [function] [call site] 00176
15 jinja2.parser.Parser.parse_primary [function] [call site] 00177
15 jinja2.parser.Parser.parse_postfix [function] [call site] 00178
15 jinja2.nodes.Node.__init__ [function] [call site] 00179
15 jinja2.nodes.Node.__init__ [function] [call site] 00180
14 jinja2.parser.Parser.parse_call [function] [call site] 00181
12 <builtin>.next [function] [call site] 00182
12 jinja2.parser.Parser.parse_unary [function] [call site] 00183
12 jinja2.nodes.Node.__init__ [function] [call site] 00184
11 <builtin>.next [function] [call site] 00185
11 jinja2.parser.Parser.parse_pow [function] [call site] 00186
10 <builtin>.next [function] [call site] 00187
10 jinja2.parser.Parser.parse_math2 [function] [call site] 00188
10 args.append [function] [call site] 00189
10 <builtin>.len [function] [call site] 00190
10 jinja2.nodes.Node.__init__ [function] [call site] 00191
9 <builtin>.next [function] [call site] 00192
9 jinja2.parser.Parser.parse_concat [function] [call site] 00193
8 <builtin>.next [function] [call site] 00194
8 jinja2.parser.Parser.parse_math1 [function] [call site] 00195
8 jinja2.nodes.Node.__init__ [function] [call site] 00196
8 ops.append [function] [call site] 00197
8 jinja2.lexer.TokenStream.skip_if [function] [call site] 00198
9 jinja2.lexer.TokenStream.next_if [function] [call site] 00199
10 jinja2.lexer.Token.test [function] [call site] 00200
10 <builtin>.next [function] [call site] 00201
8 jinja2.parser.Parser.parse_math1 [function] [call site] 00202
8 jinja2.nodes.Node.__init__ [function] [call site] 00203
8 ops.append [function] [call site] 00204
8 jinja2.lexer.Token.test [function] [call site] 00205
8 jinja2.lexer.TokenStream.look [function] [call site] 00206
8 jinja2.lexer.Token.test [function] [call site] 00207
8 jinja2.lexer.TokenStream.skip [function] [call site] 00208
8 jinja2.parser.Parser.parse_math1 [function] [call site] 00209
8 jinja2.nodes.Node.__init__ [function] [call site] 00210
8 ops.append [function] [call site] 00211
8 jinja2.nodes.Node.__init__ [function] [call site] 00212
6 jinja2.lexer.TokenStream.skip_if [function] [call site] 00213
6 jinja2.parser.Parser.parse_not [function] [call site] 00214
6 jinja2.nodes.Node.__init__ [function] [call site] 00215
5 jinja2.lexer.TokenStream.skip_if [function] [call site] 00216
5 jinja2.parser.Parser.parse_and [function] [call site] 00217
5 jinja2.nodes.Node.__init__ [function] [call site] 00218
4 jinja2.lexer.TokenStream.skip_if [function] [call site] 00219
4 jinja2.parser.Parser.parse_or [function] [call site] 00220
4 jinja2.lexer.TokenStream.skip_if [function] [call site] 00221
4 jinja2.parser.Parser.parse_condexpr [function] [call site] 00222
4 jinja2.nodes.Node.__init__ [function] [call site] 00223
3 jinja2.parser.Parser.parse_or [function] [call site] 00224
2 jinja2.nodes.Node.set_environment [function] [call site] 00225
3 collections.deque [function] [call site] 00226
3 collections.deque.popleft [function] [call site] 00227
3 node.iter_child_nodes [function] [call site] 00228
3 collections.deque.extend [function] [call site] 00229
2 jinja2.environment.Environment.handle_exception [function] [call site] 00230
2 jinja2.nodes.Node.__init__ [function] [call site] 00231
2 jinja2.nodes.Node.__init__ [function] [call site] 00232
2 jinja2.nodes.Node.__init__ [function] [call site] 00233
2 jinja2.environment.Environment.from_string [function] [call site] 00234
3 jinja2.environment.Environment.make_globals [function] [call site] 00235
4 collections.ChainMap [function] [call site] 00236
3 jinja2.environment.Environment.compile [function] [call site] 00237
4 <builtin>.isinstance [function] [call site] 00238
4 jinja2.environment.Environment._parse [function] [call site] 00239
5 jinja2.parser.Parser.__init__ [function] [call site] 00240
5 jinja2.parser.Parser.parse [function] [call site] 00241
6 jinja2.parser.Parser.subparse [function] [call site] 00242
7 jinja2.nodes.Node.__init__ [function] [call site] 00243
7 <builtin>.next [function] [call site] 00244
7 <builtin>.next [function] [call site] 00245
7 jinja2.parser.Parser.parse_tuple [function] [call site] 00246
7 jinja2.lexer.TokenStream.expect [function] [call site] 00247
7 jinja2.parser.Parser.subparse.flush_data [function] [call site] 00248
8 jinja2.nodes.Node.__init__ [function] [call site] 00249
8 body.append [function] [call site] 00250
7 <builtin>.next [function] [call site] 00251
7 jinja2.lexer.Token.test_any [function] [call site] 00252
7 jinja2.parser.Parser.parse_statement [function] [call site] 00253
8 jinja2.parser.Parser.fail [function] [call site] 00254
8 <builtin>.getattr [function] [call site] 00255
8 jinja2.parser.Parser.parse_call_block [function] [call site] 00256
9 <builtin>.next [function] [call site] 00257
9 jinja2.nodes.Node.__init__ [function] [call site] 00258
9 jinja2.parser.Parser.parse_signature [function] [call site] 00259
10 jinja2.lexer.TokenStream.expect [function] [call site] 00260
10 jinja2.lexer.TokenStream.expect [function] [call site] 00261
10 jinja2.parser.Parser.parse_assign_target [function] [call site] 00262
11 jinja2.lexer.TokenStream.expect [function] [call site] 00263
11 jinja2.nodes.Node.__init__ [function] [call site] 00264
11 jinja2.parser.Parser.parse_tuple [function] [call site] 00265
11 jinja2.parser.Parser.parse_primary [function] [call site] 00266
11 jinja2.nodes.Node.set_ctx [function] [call site] 00267
12 collections.deque [function] [call site] 00268
12 collections.deque.popleft [function] [call site] 00269
12 node.iter_child_nodes [function] [call site] 00270
12 collections.deque.extend [function] [call site] 00271
11 jinja2.nodes.Name.can_assign [function] [call site] 00272
11 jinja2.nodes.Tuple.can_assign [function] [call site] 00273
12 item.can_assign [function] [call site] 00274
11 jinja2.nodes.NSRef.can_assign [function] [call site] 00275
11 jinja2.parser.Parser.fail [function] [call site] 00276
11 <builtin>.type [function] [call site] 00277
10 jinja2.nodes.Node.set_ctx [function] [call site] 00278
10 jinja2.lexer.TokenStream.skip_if [function] [call site] 00279
10 jinja2.parser.Parser.parse_expression [function] [call site] 00280
10 defaults.append [function] [call site] 00281
10 jinja2.parser.Parser.fail [function] [call site] 00282
10 args.append [function] [call site] 00283
10 jinja2.lexer.TokenStream.expect [function] [call site] 00284
9 jinja2.parser.Parser.parse_expression [function] [call site] 00285
9 <builtin>.isinstance [function] [call site] 00286
9 jinja2.parser.Parser.fail [function] [call site] 00287
9 jinja2.parser.Parser.parse_statements [function] [call site] 00288
10 jinja2.lexer.TokenStream.skip_if [function] [call site] 00289
10 jinja2.lexer.TokenStream.expect [function] [call site] 00290
10 jinja2.parser.Parser.subparse [function] [call site] 00291
10 jinja2.parser.Parser.fail_eof [function] [call site] 00292
11 <builtin>.list [function] [call site] 00293
11 stack.append [function] [call site] 00294
11 jinja2.parser.Parser._fail_ut_eof [function] [call site] 00295
12 <builtin>.set [function] [call site] 00296
12 <builtin>.map [function] [call site] 00297
12 expected.update [function] [call site] 00298
12 <builtin>.map [function] [call site] 00299
12 <builtin>.map [function] [call site] 00300
12 message.append [function] [call site] 00301
12 message.append [function] [call site] 00302
12 message.append [function] [call site] 00303
12 jinja2.parser.Parser.fail [function] [call site] 00304
10 <builtin>.next [function] [call site] 00305
8 jinja2.parser.Parser.parse_filter_block [function] [call site] 00306
9 <builtin>.next [function] [call site] 00307
9 jinja2.nodes.Node.__init__ [function] [call site] 00308
9 jinja2.parser.Parser.parse_filter [function] [call site] 00309
9 jinja2.parser.Parser.parse_statements [function] [call site] 00310
8 jinja2.parser.Parser.fail_unknown_tag [function] [call site] 00311
9 jinja2.parser.Parser._fail_ut_eof [function] [call site] 00312
7 <builtin>.isinstance [function] [call site] 00313
7 body.extend [function] [call site] 00314
7 body.append [function] [call site] 00315
7 jinja2.lexer.TokenStream.expect [function] [call site] 00316
7 jinja2.parser.Parser.subparse.flush_data [function] [call site] 00317
6 jinja2.nodes.Node.__init__ [function] [call site] 00318
6 jinja2.nodes.Node.set_environment [function] [call site] 00319
4 jinja2.environment.Environment._generate [function] [call site] 00320
5 jinja2.compiler.generate [function] [call site] 00321
6 <builtin>.isinstance [function] [call site] 00322
6 environment.code_generator_class [function] [call site] 00323
6 generator.visit [function] [call site] 00324
6 generator.stream.getvalue [function] [call site] 00325
4 jinja2.environment.Environment._compile [function] [call site] 00326
5 jinja2.environment.Environment.compile [function] [call site] 00327
4 jinja2.environment.Environment.handle_exception [function] [call site] 00328
3 cls.from_code [function] [call site] 00329
2 jinja2.environment.TemplateExpression.__init__ [function] [call site] 00330