Fuzz introspector: parser
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
203 6 pest::set_call_limit call site: 00006 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::value
108 369 ParserState::inc_call_check_limit call site: 00369 bool
41 284 ExprTopDownIterator::next call site: 00284 ExprTopDownIterator::next
18 235 Stack::snapshot call site: 00235 Stack::clear_snapshot
15 216 ParserState::match_string call site: 00216 tests::wrong_pos
14 259 ParserState::match_string call site: 00259 ExprTopDownIterator::next
9 274 ExprTopDownIterator::next call site: 00274 pop
6 346 ParserState::match_range call site: 00346 number
6 358 ParserState::match_string call site: 00358 ParserState::match_range
4 479 pest::set_call_limit call site: 00479
3 210 ParserState::match_string call site: 00210 fails_with
2 0 EP call site: 00000

Fuzzer calltree

0 fuzz_target [function] [call site] 00000
1 std::str::from_utf8 [function] [call site] 00001
1 pest::set_call_limit [function] [call site] 00002
2 ParserState::restore [function] [call site] 00003
3 ParserState::restore [function] [call site] 00004
4 ParserState::restore [function] [call site] 00005
2 v::a::l::i::d::a::t::e::_::t::a::g::_::s::i::l::e::n::t::_::r::u::l::e::s::to_type_hash_map [function] [call site] 00006
3 & [call site] 00007
4 bench_function [function] [call site] 00008
4 autocorrect::JsonParser::parse [function] [call site] 00009
5 pest::state [function] [call site] 00010
6 Expr::iter_top_down [function] [call site] 00011
7 ExprTopDownIterator::new [function] [call site] 00012
8 ExprTopDownIterator::iterate_expr [function] [call site] 00013
9 FlatPairs::clone [function] [call site] 00015
10 FlatPairs::clone [function] [call site] 00016
11 FlatPairs::clone [function] [call site] 00017
11 FlatPairs::clone [function] [call site] 00018
10 FlatPairs::clone [function] [call site] 00019
9 tests::push [function] [call site] 00020
9 tests::push [function] [call site] 00022
8 FlatPairs::clone [function] [call site] 00026
6 ExprTopDownIterator::any [function] [call site] 00027
6 &mut [call site] 00028
7 std::str::from_utf8 [function] [call site] 00029
7 pest::set_call_limit [function] [call site] 00030
7 pest_meta::parser::parse [function] [call site] 00034
8 :: [call site] 00035
8 rules [call site] 00036
8 rules [call site] 00037
8 rules [call site] 00038
8 rules [call site] 00039
8 rules [call site] 00040
8 rules [call site] 00041
8 rules [call site] 00042
8 rules [call site] 00043
8 rules [call site] 00044
8 rules [call site] 00045
8 rules [call site] 00046
8 rules [call site] 00047
8 rules [call site] 00048
8 rules [call site] 00049
8 rules [call site] 00050
8 rules [call site] 00051
8 rules [call site] 00052
8 rules [call site] 00053
8 rules [call site] 00054
8 rules [call site] 00055
8 rules [call site] 00056
8 rules [call site] 00057
8 rules [call site] 00058
8 rules [call site] 00059
8 rules [call site] 00060
8 rules [call site] 00061
8 rules [call site] 00062
8 rules [call site] 00063
8 rules [call site] 00064
8 rules [call site] 00065
8 rules [call site] 00066
8 rules [call site] 00067
8 rules [call site] 00068
8 rules [call site] 00069
8 rules [call site] 00070
8 rules [call site] 00071
8 rules [call site] 00072
8 rules [call site] 00073
8 rules [call site] 00074
8 rules [call site] 00075
8 rules [call site] 00076
8 rules [call site] 00077
8 rules [call site] 00078
8 rules [call site] 00079
8 rules [call site] 00080
8 rules [call site] 00081
8 rules [call site] 00082
8 rules [call site] 00083
8 rules [call site] 00084
8 rules [call site] 00085
8 rules [call site] 00086
8 rules [call site] 00087
8 rules [call site] 00088
8 rules [call site] 00089
8 rules [call site] 00090
8 rules [call site] 00091
8 rules [call site] 00092
8 rules [call site] 00093
8 rules [call site] 00094
8 rules [call site] 00095
8 rules [call site] 00096
8 rules [call site] 00097
8 rules [call site] 00098
8 rules [call site] 00099
8 rules [call site] 00100
8 rules [call site] 00101
6 &mut [call site] 00103
6 Option::to_owned [function] [call site] 00104
6 &mut [call site] 00106
6 Option::to_owned [function] [call site] 00107
6 & [call site] 00108
7 std::str::from_utf8 [function] [call site] 00109
7 pest::set_call_limit [function] [call site] 00110
7 pest_meta::parser::parse [function] [call site] 00114
6 child_modifies_state [function] [call site] 00115
7 Expr::iter_top_down [function] [call site] 00116
7 ExprTopDownIterator::any [function] [call site] 00117
7 &mut [call site] 00118
7 &mut [call site] 00120
7 Option::to_owned [function] [call site] 00121
7 &mut [call site] 00123
7 Option::to_owned [function] [call site] 00124
7 & [call site] 00125
7 child_modifies_state [function] [call site] 00126
7 &mut [call site] 00127
7 Option::to_owned [function] [call site] 00128
6 &mut [call site] 00130
6 Option::to_owned [function] [call site] 00131
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::json [function] [call site] 00133
6 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::value [function] [call site] 00134
7 Result::rule [function] [call site] 00135
8 convert_node [function] [call site] 00136
9 Expr::Str [function] [call site] 00137
9 Expr::Insens [function] [call site] 00138
9 Expr::Range [function] [call site] 00139
9 Expr::Ident [function] [call site] 00140
9 Expr::PeekSlice [function] [call site] 00141
9 Expr::PosPred [function] [call site] 00142
9 ExprTopDownIterator::new [function] [call site] 00143
10 ExprTopDownIterator::iterate_expr [function] [call site] 00144
10 FlatPairs::clone [function] [call site] 00145
9 convert_node [function] [call site] 00146
9 Expr::NegPred [function] [call site] 00147
9 ExprTopDownIterator::new [function] [call site] 00148
9 convert_node [function] [call site] 00149
9 Expr::Seq [function] [call site] 00150
9 ExprTopDownIterator::new [function] [call site] 00151
9 convert_node [function] [call site] 00152
9 ExprTopDownIterator::new [function] [call site] 00153
9 convert_node [function] [call site] 00154
9 Expr::Choice [function] [call site] 00155
9 ExprTopDownIterator::new [function] [call site] 00156
9 convert_node [function] [call site] 00157
9 ExprTopDownIterator::new [function] [call site] 00158
9 convert_node [function] [call site] 00159
9 Expr::Opt [function] [call site] 00160
9 ExprTopDownIterator::new [function] [call site] 00161
9 convert_node [function] [call site] 00162
9 Expr::Rep [function] [call site] 00163
9 ExprTopDownIterator::new [function] [call site] 00164
9 convert_node [function] [call site] 00165
9 Expr::RepOnce [function] [call site] 00166
9 ExprTopDownIterator::new [function] [call site] 00167
9 convert_node [function] [call site] 00168
9 Expr::RepExact [function] [call site] 00169
9 ExprTopDownIterator::new [function] [call site] 00170
9 convert_node [function] [call site] 00171
9 Expr::RepMin [function] [call site] 00172
9 ExprTopDownIterator::new [function] [call site] 00173
9 convert_node [function] [call site] 00174
9 Expr::RepMax [function] [call site] 00175
9 ExprTopDownIterator::new [function] [call site] 00176
9 convert_node [function] [call site] 00177
9 Expr::RepMinMax [function] [call site] 00178
9 ExprTopDownIterator::new [function] [call site] 00179
9 convert_node [function] [call site] 00180
9 Expr::Push [function] [call site] 00181
9 ExprTopDownIterator::new [function] [call site] 00182
9 convert_node [function] [call site] 00183
9 Expr::PushLiteral [function] [call site] 00184
9 Expr::NodeTag [function] [call site] 00185
9 ExprTopDownIterator::new [function] [call site] 00186
9 convert_node [function] [call site] 00187
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::pair [function] [call site] 00203
6 Result::rule [function] [call site] 00204
6 tests::long_common_sequence [function] [call site] 00205
6 ParserState::match_string [function] [call site] 00209
7 tests::wrong_pos [function] [call site] 00210
8 fails_with [function] [call site] 00211
9 Vm::parse [function] [call site] 00212
9 Result::unwrap_err [function] [call site] 00213
7 ParserState::match_string [function] [call site] 00214
8 tests::wrong_pos [function] [call site] 00215
8 ParserState::match_string [function] [call site] 00216
8 BorrowedOrArc::from [function] [call site] 00217
9 Self::Borrowed [function] [call site] 00218
9 Self::Owned [function] [call site] 00219
9 ExprTopDownIterator::new [function] [call site] 00220
10 ExprTopDownIterator::iterate_expr [function] [call site] 00221
10 FlatPairs::clone [function] [call site] 00222
8 ParserState::handle_token_parse_result [function] [call site] 00223
9 tests::wrong_pos [function] [call site] 00224
9 ParseAttempts::try_add_new_token [function] [call site] 00225
10 tests::push [function] [call site] 00226
10 target_vec_push_token [function] [call site] 00227
10 test::snapshot_push_clear [function] [call site] 00228
11 Stack::new [function] [call site] 00229
11 tests::push [function] [call site] 00230
11 Stack::snapshot [function] [call site] 00231
12 tests::push [function] [call site] 00232
12 Stack::len [function] [call site] 00233
13 Stack::len [function] [call site] 00234
12 Stack::len [function] [call site] 00235
11 tests::push [function] [call site] 00236
11 Stack::clear_snapshot [function] [call site] 00237
10 test::snapshot_push_clear [function] [call site] 00242
10 test::snapshot_push_clear [function] [call site] 00243
10 tests::push [function] [call site] 00244
10 RulesCallStack::new [function] [call site] 00245
10 target_vec_push_token [function] [call site] 00246
10 tests::push [function] [call site] 00247
10 RulesCallStack::new [function] [call site] 00248
9 ParseAttempts::nullify_expected_tokens [function] [call site] 00249
10 test::snapshot_push_clear [function] [call site] 00250
10 test::snapshot_push_clear [function] [call site] 00251
10 test::snapshot_push_clear [function] [call site] 00252
9 ParseAttempts::try_add_new_token [function] [call site] 00253
7 BorrowedOrArc::from [function] [call site] 00256
7 ParserState::handle_token_parse_result [function] [call site] 00257
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::value [function] [call site] 00264
5 unescape [function] [call site] 00266
6 ExprTopDownIterator::new [function] [call site] 00267
7 ExprTopDownIterator::iterate_expr [function] [call site] 00268
7 FlatPairs::clone [function] [call site] 00269
6 ExprTopDownIterator::next [function] [call site] 00271
7 ExprTopDownIterator::iterate_expr [function] [call site] 00274
7 ExprTopDownIterator::iterate_expr [function] [call site] 00284
6 ExprTopDownIterator::next [function] [call site] 00285
6 tests::push [function] [call site] 00286
6 tests::push [function] [call site] 00287
6 tests::push [function] [call site] 00288
6 tests::push [function] [call site] 00289
6 tests::push [function] [call site] 00290
6 tests::push [function] [call site] 00291
6 tests::push [function] [call site] 00292
6 FlatPairs::clone [function] [call site] 00293
7 FlatPairs::clone [function] [call site] 00294
7 FlatPairs::clone [function] [call site] 00295
6 Stack::len [function] [call site] 00298
6 Stack::len [function] [call site] 00299
6 ExprTopDownIterator::next [function] [call site] 00300
6 u8::from_str_radix [function] [call site] 00301
6 ParserState::checkpoint_ok [function] [call site] 00302
7 Stack::clear_snapshot [function] [call site] 00303
6 tests::push [function] [call site] 00304
6 BorrowedOrArc::from [function] [call site] 00305
7 Self::Borrowed [function] [call site] 00306
7 Self::Owned [function] [call site] 00307
7 ExprTopDownIterator::new [function] [call site] 00308
6 ExprTopDownIterator::next [function] [call site] 00309
6 FlatPairs::clone [function] [call site] 00310
6 take_while [function] [call site] 00311
6 Stack::len [function] [call site] 00313
6 Stack::len [function] [call site] 00314
6 Stack::len [function] [call site] 00315
6 ExprTopDownIterator::next [function] [call site] 00316
6 u32::from_str_radix [function] [call site] 00317
6 ParserState::checkpoint_ok [function] [call site] 00318
6 tests::push [function] [call site] 00319
6 char::from_u32 [function] [call site] 00320
6 tests::push [function] [call site] 00321
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::hex [function] [call site] 00324
6 ParserState::match_range [function] [call site] 00325
7 ParserState::position [function] [call site] 00326
7 tests::wrong_pos [function] [call site] 00327
8 fails_with [function] [call site] 00328
7 ParserState::match_range [function] [call site] 00329
8 ParserState::position [function] [call site] 00330
8 tests::wrong_pos [function] [call site] 00331
8 ParserState::match_range [function] [call site] 00332
8 ParserState::handle_token_parse_result [function] [call site] 00333
7 ParserState::handle_token_parse_result [function] [call site] 00336
6 ParseResult::or_else [function] [call site] 00339
6 ParserState::match_range [function] [call site] 00340
7 ParserState::position [function] [call site] 00341
7 tests::wrong_pos [function] [call site] 00342
7 ParserState::match_range [function] [call site] 00343
7 ParserState::handle_token_parse_result [function] [call site] 00344
6 ParserState::match_range [function] [call site] 00348
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::int [function] [call site] 00351
6 ParserState::match_string [function] [call site] 00352
7 tests::wrong_pos [function] [call site] 00353
7 ParserState::match_string [function] [call site] 00354
7 BorrowedOrArc::from [function] [call site] 00355
7 ParserState::handle_token_parse_result [function] [call site] 00356
6 ParseResult::or_else [function] [call site] 00359
6 tests::long_common_sequence [function] [call site] 00360
6 ParserState::match_range [function] [call site] 00361
6 ParseResult::and_then [function] [call site] 00362
6 ParserState::repeat [function] [call site] 00363
7 ParserState::inc_call_check_limit [function] [call site] 00364
8 CallLimitTracker::limit_reached [function] [call site] 00365
9 is_some_and [function] [call site] 00366
8 CallLimitTracker::increment_depth [function] [call site] 00368
7 tests::lines_eof [function] [call site] 00370
8 Span::new [function] [call site] 00371
9 fuzz_target [function] [call site] 00372
10 std::str::from_utf8 [function] [call site] 00373
10 pest::set_call_limit [function] [call site] 00374
10 try_into [function] [call site] 00376
10 pest_meta::parser::parse [function] [call site] 00378
8 Option::unwrap [function] [call site] 00381
8 Span::lines [function] [call site] 00382
9 Span::lines_span [function] [call site] 00383
8 Lines::collect [function] [call site] 00384
8 Span::lines_span [function] [call site] 00385
8 v::a::l::i::d::a::t::e::_::t::a::g::_::s::i::l::e::n::t::_::r::u::l::e::s::to_type_hash_map [function] [call site] 00386
9 & [call site] 00387
9 v::a::l::i::d::a::t::e::_::t::a::g::_::s::i::l::e::n::t::_::r::u::l::e::s::to_type_hash_map [function] [call site] 00388
9 FlatPairs::clone [function] [call site] 00389
9 HashMap::collect [function] [call site] 00390
8 BorrowedOrArc::as_str [function] [call site] 00391
9 & [call site] 00392
8 HashMap::collect [function] [call site] 00393
7 tests::lines_eof [function] [call site] 00394
6 ParserState::match_range [function] [call site] 00396
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::exp [function] [call site] 00397
6 tests::long_common_sequence [function] [call site] 00398
6 ParserState::match_string [function] [call site] 00399
6 ParseResult::or_else [function] [call site] 00400
6 ParserState::match_string [function] [call site] 00401
6 ParserState::optional [function] [call site] 00403
7 ParserState::inc_call_check_limit [function] [call site] 00404
7 tests::lines_eof [function] [call site] 00405
6 ParserState::match_string [function] [call site] 00407
6 ParseResult::or_else [function] [call site] 00408
6 ParserState::match_string [function] [call site] 00409
4 Result::unwrap [function] [call site] 00415
4 bench_pairs_iter [function] [call site] 00416
5 bench_function [function] [call site] 00417
5 autocorrect::JsonParser::parse [function] [call site] 00418
5 Result::unwrap [function] [call site] 00419
5 bench_pairs_iter [function] [call site] 00420
5 b::e::n::c::h::_::p::a::i::r::s::_::i::t::e::r::iter_all_pairs [function] [call site] 00421
6 b::e::n::c::h::_::p::a::i::r::s::_::i::t::e::r::iter_all_pairs [function] [call site] 00422
6 Pair::into_inner [function] [call site] 00423
7 Pair::pair [function] [call site] 00424
7 ExprTopDownIterator::new [function] [call site] 00425
8 ExprTopDownIterator::iterate_expr [function] [call site] 00426
8 FlatPairs::clone [function] [call site] 00427
5 FlatPairs::clone [function] [call site] 00429
6 FlatPairs::clone [function] [call site] 00430
6 FlatPairs::clone [function] [call site] 00431
5 bench_function [function] [call site] 00432
5 autocorrect::JsonParser::parse [function] [call site] 00433
5 Result::unwrap [function] [call site] 00434
5 bench_pairs_iter [function] [call site] 00435
5 FlatPairs::clone [function] [call site] 00436
5 Pairs::flatten [function] [call site] 00437
6 ExprTopDownIterator::new [function] [call site] 00438
7 ExprTopDownIterator::iterate_expr [function] [call site] 00439
7 FlatPairs::clone [function] [call site] 00440
5 bench_function [function] [call site] 00441
5 autocorrect::JsonParser::parse [function] [call site] 00442
5 Result::unwrap [function] [call site] 00443
5 bench_pairs_iter [function] [call site] 00444
5 FlatPairs::clone [function] [call site] 00445
5 clone().collect::<Vec<_>> [function] [call site] 00446
5 bench_function [function] [call site] 00447
5 autocorrect::JsonParser::parse [function] [call site] 00448
5 Result::unwrap [function] [call site] 00449
5 bench_pairs_iter [function] [call site] 00450
5 FlatPairs::clone [function] [call site] 00451
5 Pairs::flatten [function] [call site] 00452
5 clone().flatten().collect::<Vec<_>> [function] [call site] 00453
4 b::e::n::c::h::_::p::a::i::r::s::_::i::t::e::r::iter_all_pairs [function] [call site] 00454
4 FlatPairs::clone [function] [call site] 00455
4 bench_function [function] [call site] 00456
4 autocorrect::JsonParser::parse [function] [call site] 00457
4 Result::unwrap [function] [call site] 00458
4 bench_pairs_iter [function] [call site] 00459
4 FlatPairs::clone [function] [call site] 00460
4 Pairs::flatten [function] [call site] 00461
4 bench_function [function] [call site] 00462
4 autocorrect::JsonParser::parse [function] [call site] 00463
4 Result::unwrap [function] [call site] 00464
4 bench_pairs_iter [function] [call site] 00465
4 FlatPairs::clone [function] [call site] 00466
4 clone().collect::<Vec<_>> [function] [call site] 00467
4 bench_function [function] [call site] 00468
4 autocorrect::JsonParser::parse [function] [call site] 00469
4 Result::unwrap [function] [call site] 00470
4 bench_pairs_iter [function] [call site] 00471
4 FlatPairs::clone [function] [call site] 00472
4 Pairs::flatten [function] [call site] 00473
4 clone().flatten().collect::<Vec<_>> [function] [call site] 00474
3 v::a::l::i::d::a::t::e::_::t::a::g::_::s::i::l::e::n::t::_::r::u::l::e::s::to_type_hash_map [function] [call site] 00475
3 FlatPairs::clone [function] [call site] 00476
3 HashMap::collect [function] [call site] 00477
2 fuzz_target [function] [call site] 00478
2 HashMap::unwrap_or [function] [call site] 00479
1 pest_meta::parser::parse [function] [call site] 00483