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
175 35 pest_meta::parser::parse call site: 00035 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::value
108 358 ParserState::inc_call_check_limit call site: 00358 bool
41 285 ExprTopDownIterator::next call site: 00285 ExprTopDownIterator::next
28 6 pest::set_call_limit call site: 00006 ExprTopDownIterator::iterate_expr
18 236 Stack::snapshot call site: 00236 Stack::clear_snapshot
15 217 ParserState::match_string call site: 00217 tests::wrong_pos
14 339 ParserState::match_range call site: 00339 number
12 260 ParserState::match_string call site: 00260 ExprTopDownIterator::next
8 275 ExprTopDownIterator::next call site: 00275
4 468 pest::set_call_limit call site: 00468
3 211 ParserState::match_string call site: 00211 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 Result::iter [function] [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 PestParser::parse [function] [call site] 00035
9 :: [call site] 00036
9 rules [call site] 00037
9 rules [call site] 00038
9 rules [call site] 00039
9 rules [call site] 00040
9 rules [call site] 00041
9 rules [call site] 00042
9 rules [call site] 00043
9 rules [call site] 00044
9 rules [call site] 00045
9 rules [call site] 00046
9 rules [call site] 00047
9 rules [call site] 00048
9 rules [call site] 00049
9 rules [call site] 00050
9 rules [call site] 00051
9 rules [call site] 00052
9 rules [call site] 00053
9 rules [call site] 00054
9 rules [call site] 00055
9 rules [call site] 00056
9 rules [call site] 00057
9 rules [call site] 00058
9 rules [call site] 00059
9 rules [call site] 00060
9 rules [call site] 00061
9 rules [call site] 00062
9 rules [call site] 00063
9 rules [call site] 00064
9 rules [call site] 00065
9 rules [call site] 00066
9 rules [call site] 00067
9 rules [call site] 00068
9 rules [call site] 00069
9 rules [call site] 00070
9 rules [call site] 00071
9 rules [call site] 00072
9 rules [call site] 00073
9 rules [call site] 00074
9 rules [call site] 00075
9 rules [call site] 00076
9 rules [call site] 00077
9 rules [call site] 00078
9 rules [call site] 00079
9 rules [call site] 00080
9 rules [call site] 00081
9 rules [call site] 00082
9 rules [call site] 00083
9 rules [call site] 00084
9 rules [call site] 00085
9 rules [call site] 00086
9 rules [call site] 00087
9 rules [call site] 00088
9 rules [call site] 00089
9 rules [call site] 00090
9 rules [call site] 00091
9 rules [call site] 00092
9 rules [call site] 00093
9 rules [call site] 00094
9 rules [call site] 00095
9 rules [call site] 00096
9 rules [call site] 00097
9 rules [call site] 00098
9 rules [call site] 00099
9 rules [call site] 00100
9 rules [call site] 00101
9 rules [call site] 00102
6 &mut [call site] 00104
6 Option::to_owned [function] [call site] 00105
6 &mut [call site] 00107
6 Option::to_owned [function] [call site] 00108
6 Result::get [function] [call site] 00109
7 std::str::from_utf8 [function] [call site] 00110
7 pest::set_call_limit [function] [call site] 00111
7 pest_meta::parser::parse [function] [call site] 00115
6 child_modifies_state [function] [call site] 00116
7 Expr::iter_top_down [function] [call site] 00117
7 ExprTopDownIterator::any [function] [call site] 00118
7 &mut [call site] 00119
7 &mut [call site] 00121
7 Option::to_owned [function] [call site] 00122
7 &mut [call site] 00124
7 Option::to_owned [function] [call site] 00125
7 Result::get [function] [call site] 00126
7 child_modifies_state [function] [call site] 00127
7 &mut [call site] 00128
7 Option::to_owned [function] [call site] 00129
6 &mut [call site] 00131
6 Option::to_owned [function] [call site] 00132
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::json [function] [call site] 00134
6 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::value [function] [call site] 00135
7 Result::rule [function] [call site] 00136
8 convert_node [function] [call site] 00137
9 Expr::Str [function] [call site] 00138
9 Expr::Insens [function] [call site] 00139
9 Expr::Range [function] [call site] 00140
9 Expr::Ident [function] [call site] 00141
9 Expr::PeekSlice [function] [call site] 00142
9 Expr::PosPred [function] [call site] 00143
9 ExprTopDownIterator::new [function] [call site] 00144
10 ExprTopDownIterator::iterate_expr [function] [call site] 00145
10 FlatPairs::clone [function] [call site] 00146
9 convert_node [function] [call site] 00147
9 Expr::NegPred [function] [call site] 00148
9 ExprTopDownIterator::new [function] [call site] 00149
9 convert_node [function] [call site] 00150
9 Expr::Seq [function] [call site] 00151
9 ExprTopDownIterator::new [function] [call site] 00152
9 convert_node [function] [call site] 00153
9 ExprTopDownIterator::new [function] [call site] 00154
9 convert_node [function] [call site] 00155
9 Expr::Choice [function] [call site] 00156
9 ExprTopDownIterator::new [function] [call site] 00157
9 convert_node [function] [call site] 00158
9 ExprTopDownIterator::new [function] [call site] 00159
9 convert_node [function] [call site] 00160
9 Expr::Opt [function] [call site] 00161
9 ExprTopDownIterator::new [function] [call site] 00162
9 convert_node [function] [call site] 00163
9 Expr::Rep [function] [call site] 00164
9 ExprTopDownIterator::new [function] [call site] 00165
9 convert_node [function] [call site] 00166
9 Expr::RepOnce [function] [call site] 00167
9 ExprTopDownIterator::new [function] [call site] 00168
9 convert_node [function] [call site] 00169
9 Expr::RepExact [function] [call site] 00170
9 ExprTopDownIterator::new [function] [call site] 00171
9 convert_node [function] [call site] 00172
9 Expr::RepMin [function] [call site] 00173
9 ExprTopDownIterator::new [function] [call site] 00174
9 convert_node [function] [call site] 00175
9 Expr::RepMax [function] [call site] 00176
9 ExprTopDownIterator::new [function] [call site] 00177
9 convert_node [function] [call site] 00178
9 Expr::RepMinMax [function] [call site] 00179
9 ExprTopDownIterator::new [function] [call site] 00180
9 convert_node [function] [call site] 00181
9 Expr::Push [function] [call site] 00182
9 ExprTopDownIterator::new [function] [call site] 00183
9 convert_node [function] [call site] 00184
9 Expr::PushLiteral [function] [call site] 00185
9 Expr::NodeTag [function] [call site] 00186
9 ExprTopDownIterator::new [function] [call site] 00187
9 convert_node [function] [call site] 00188
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::pair [function] [call site] 00204
6 Result::rule [function] [call site] 00205
6 tests::long_common_sequence [function] [call site] 00206
6 ParserState::match_string [function] [call site] 00210
7 tests::wrong_pos [function] [call site] 00211
8 fails_with [function] [call site] 00212
9 Vm::parse [function] [call site] 00213
9 Result::unwrap_err [function] [call site] 00214
7 ParserState::match_string [function] [call site] 00215
8 tests::wrong_pos [function] [call site] 00216
8 ParserState::match_string [function] [call site] 00217
8 BorrowedOrArc::from [function] [call site] 00218
9 Self::Borrowed [function] [call site] 00219
9 Self::Owned [function] [call site] 00220
9 ExprTopDownIterator::new [function] [call site] 00221
10 ExprTopDownIterator::iterate_expr [function] [call site] 00222
10 FlatPairs::clone [function] [call site] 00223
8 ParserState::handle_token_parse_result [function] [call site] 00224
9 tests::wrong_pos [function] [call site] 00225
9 ParseAttempts::try_add_new_token [function] [call site] 00226
10 tests::push [function] [call site] 00227
10 target_vec_push_token [function] [call site] 00228
10 test::snapshot_push_clear [function] [call site] 00229
11 Stack::new [function] [call site] 00230
11 tests::push [function] [call site] 00231
11 Stack::snapshot [function] [call site] 00232
12 tests::push [function] [call site] 00233
12 Stack::len [function] [call site] 00234
13 Stack::len [function] [call site] 00235
12 Stack::len [function] [call site] 00236
11 tests::push [function] [call site] 00237
11 Stack::clear_snapshot [function] [call site] 00238
10 test::snapshot_push_clear [function] [call site] 00243
10 test::snapshot_push_clear [function] [call site] 00244
10 tests::push [function] [call site] 00245
10 RulesCallStack::new [function] [call site] 00246
10 target_vec_push_token [function] [call site] 00247
10 tests::push [function] [call site] 00248
10 RulesCallStack::new [function] [call site] 00249
9 ParseAttempts::nullify_expected_tokens [function] [call site] 00250
10 test::snapshot_push_clear [function] [call site] 00251
10 test::snapshot_push_clear [function] [call site] 00252
10 test::snapshot_push_clear [function] [call site] 00253
9 ParseAttempts::try_add_new_token [function] [call site] 00254
7 BorrowedOrArc::from [function] [call site] 00257
7 ParserState::handle_token_parse_result [function] [call site] 00258
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::value [function] [call site] 00265
5 unescape [function] [call site] 00267
6 ExprTopDownIterator::new [function] [call site] 00268
7 ExprTopDownIterator::iterate_expr [function] [call site] 00269
7 FlatPairs::clone [function] [call site] 00270
6 ExprTopDownIterator::next [function] [call site] 00272
7 ExprTopDownIterator::iterate_expr [function] [call site] 00275
7 ExprTopDownIterator::iterate_expr [function] [call site] 00285
6 ExprTopDownIterator::next [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 tests::push [function] [call site] 00293
6 FlatPairs::clone [function] [call site] 00294
7 FlatPairs::clone [function] [call site] 00295
7 FlatPairs::clone [function] [call site] 00296
6 Stack::len [function] [call site] 00299
6 Stack::len [function] [call site] 00300
6 ExprTopDownIterator::next [function] [call site] 00301
6 u8::from_str_radix [function] [call site] 00302
6 ParserState::checkpoint_ok [function] [call site] 00303
7 Stack::clear_snapshot [function] [call site] 00304
6 tests::push [function] [call site] 00305
6 BorrowedOrArc::from [function] [call site] 00306
7 Self::Borrowed [function] [call site] 00307
7 Self::Owned [function] [call site] 00308
7 ExprTopDownIterator::new [function] [call site] 00309
6 ExprTopDownIterator::next [function] [call site] 00310
6 FlatPairs::clone [function] [call site] 00311
6 take_while [function] [call site] 00312
6 Stack::len [function] [call site] 00314
6 Stack::len [function] [call site] 00315
6 Stack::len [function] [call site] 00316
6 ExprTopDownIterator::next [function] [call site] 00317
6 u32::from_str_radix [function] [call site] 00318
6 ParserState::checkpoint_ok [function] [call site] 00319
6 tests::push [function] [call site] 00320
6 char::from_u32 [function] [call site] 00321
6 tests::push [function] [call site] 00322
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::hex [function] [call site] 00325
6 ParserState::match_range [function] [call site] 00326
7 ParserState::position [function] [call site] 00327
7 tests::wrong_pos [function] [call site] 00328
8 fails_with [function] [call site] 00329
7 ParserState::match_range [function] [call site] 00330
8 ParserState::position [function] [call site] 00331
8 tests::wrong_pos [function] [call site] 00332
8 ParserState::match_range [function] [call site] 00333
8 ParserState::handle_token_parse_result [function] [call site] 00334
7 ParserState::handle_token_parse_result [function] [call site] 00337
6 ParseResult::or_else [function] [call site] 00340
6 ParserState::match_range [function] [call site] 00341
6 ParserState::match_range [function] [call site] 00343
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::int [function] [call site] 00346
6 ParserState::match_string [function] [call site] 00347
6 ParseResult::or_else [function] [call site] 00348
6 tests::long_common_sequence [function] [call site] 00349
6 ParserState::match_range [function] [call site] 00350
6 ParseResult::and_then [function] [call site] 00351
6 ParserState::repeat [function] [call site] 00352
7 ParserState::inc_call_check_limit [function] [call site] 00353
8 CallLimitTracker::limit_reached [function] [call site] 00354
8 CallLimitTracker::increment_depth [function] [call site] 00357
7 tests::lines_eof [function] [call site] 00359
8 Span::new [function] [call site] 00360
9 fuzz_target [function] [call site] 00361
10 std::str::from_utf8 [function] [call site] 00362
10 pest::set_call_limit [function] [call site] 00363
10 try_into [function] [call site] 00365
10 pest_meta::parser::parse [function] [call site] 00367
8 Option::unwrap [function] [call site] 00370
8 Span::lines [function] [call site] 00371
9 Span::lines_span [function] [call site] 00372
8 Lines::collect [function] [call site] 00373
8 Span::lines_span [function] [call site] 00374
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] 00375
9 Result::iter [function] [call site] 00376
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] 00377
9 FlatPairs::clone [function] [call site] 00378
9 HashMap::collect [function] [call site] 00379
8 BorrowedOrArc::as_str [function] [call site] 00380
9 Result::deref [function] [call site] 00381
8 HashMap::collect [function] [call site] 00382
7 tests::lines_eof [function] [call site] 00383
6 ParserState::match_range [function] [call site] 00385
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::exp [function] [call site] 00386
6 tests::long_common_sequence [function] [call site] 00387
6 ParserState::match_string [function] [call site] 00388
6 ParseResult::or_else [function] [call site] 00389
6 ParserState::match_string [function] [call site] 00390
6 ParserState::optional [function] [call site] 00392
7 ParserState::inc_call_check_limit [function] [call site] 00393
7 tests::lines_eof [function] [call site] 00394
6 ParserState::match_string [function] [call site] 00396
6 ParseResult::or_else [function] [call site] 00397
6 ParserState::match_string [function] [call site] 00398
4 Result::unwrap [function] [call site] 00404
4 bench_pairs_iter [function] [call site] 00405
5 bench_function [function] [call site] 00406
5 autocorrect::JsonParser::parse [function] [call site] 00407
5 Result::unwrap [function] [call site] 00408
5 bench_pairs_iter [function] [call site] 00409
5 b::e::n::c::h::_::p::a::i::r::s::_::i::t::e::r::iter_all_pairs [function] [call site] 00410
6 b::e::n::c::h::_::p::a::i::r::s::_::i::t::e::r::iter_all_pairs [function] [call site] 00411
6 Pair::into_inner [function] [call site] 00412
7 Pair::pair [function] [call site] 00413
7 ExprTopDownIterator::new [function] [call site] 00414
8 ExprTopDownIterator::iterate_expr [function] [call site] 00415
8 FlatPairs::clone [function] [call site] 00416
5 FlatPairs::clone [function] [call site] 00418
6 FlatPairs::clone [function] [call site] 00419
6 FlatPairs::clone [function] [call site] 00420
5 bench_function [function] [call site] 00421
5 autocorrect::JsonParser::parse [function] [call site] 00422
5 Result::unwrap [function] [call site] 00423
5 bench_pairs_iter [function] [call site] 00424
5 FlatPairs::clone [function] [call site] 00425
5 Pairs::flatten [function] [call site] 00426
6 ExprTopDownIterator::new [function] [call site] 00427
7 ExprTopDownIterator::iterate_expr [function] [call site] 00428
7 FlatPairs::clone [function] [call site] 00429
5 bench_function [function] [call site] 00430
5 autocorrect::JsonParser::parse [function] [call site] 00431
5 Result::unwrap [function] [call site] 00432
5 bench_pairs_iter [function] [call site] 00433
5 FlatPairs::clone [function] [call site] 00434
5 clone().collect::<Vec<_>> [function] [call site] 00435
5 bench_function [function] [call site] 00436
5 autocorrect::JsonParser::parse [function] [call site] 00437
5 Result::unwrap [function] [call site] 00438
5 bench_pairs_iter [function] [call site] 00439
5 FlatPairs::clone [function] [call site] 00440
5 Pairs::flatten [function] [call site] 00441
5 clone().flatten().collect::<Vec<_>> [function] [call site] 00442
4 b::e::n::c::h::_::p::a::i::r::s::_::i::t::e::r::iter_all_pairs [function] [call site] 00443
4 FlatPairs::clone [function] [call site] 00444
4 bench_function [function] [call site] 00445
4 autocorrect::JsonParser::parse [function] [call site] 00446
4 Result::unwrap [function] [call site] 00447
4 bench_pairs_iter [function] [call site] 00448
4 FlatPairs::clone [function] [call site] 00449
4 Pairs::flatten [function] [call site] 00450
4 bench_function [function] [call site] 00451
4 autocorrect::JsonParser::parse [function] [call site] 00452
4 Result::unwrap [function] [call site] 00453
4 bench_pairs_iter [function] [call site] 00454
4 FlatPairs::clone [function] [call site] 00455
4 clone().collect::<Vec<_>> [function] [call site] 00456
4 bench_function [function] [call site] 00457
4 autocorrect::JsonParser::parse [function] [call site] 00458
4 Result::unwrap [function] [call site] 00459
4 bench_pairs_iter [function] [call site] 00460
4 FlatPairs::clone [function] [call site] 00461
4 Pairs::flatten [function] [call site] 00462
4 clone().flatten().collect::<Vec<_>> [function] [call site] 00463
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] 00464
3 FlatPairs::clone [function] [call site] 00465
3 HashMap::collect [function] [call site] 00466
2 fuzz_target [function] [call site] 00467
2 HashMap::unwrap_or [function] [call site] 00468
1 pest_meta::parser::parse [function] [call site] 00472