Fuzz introspector: json
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
167 6 pest::set_call_limit call site: 00006 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::value
68 321 ParserState::inc_call_check_limit call site: 00321 bool
41 248 ExprTopDownIterator::next call site: 00248 ExprTopDownIterator::next
37 180 ParserState::match_string call site: 00180 Stack::clear_snapshot
19 391 pest::set_call_limit call site: 00391 object
14 302 ParserState::match_range call site: 00302 number
12 223 ParserState::match_string call site: 00223 ExprTopDownIterator::next
8 238 ExprTopDownIterator::next call site: 00238
3 174 ParserState::match_string call site: 00174 fails_with
2 0 EP call site: 00000
2 3 pest::set_call_limit call site: 00003
2 219 ParserState::match_string call site: 00219 ParserState::handle_token_parse_result

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 PrecClimber::get [function] [call site] 00028
7 bench_pairs_iter [function] [call site] 00029
8 bench_function [function] [call site] 00030
8 autocorrect::JsonParser::parse [function] [call site] 00031
8 Result::unwrap [function] [call site] 00032
8 bench_pairs_iter [function] [call site] 00033
8 b::e::n::c::h::_::p::a::i::r::s::_::i::t::e::r::iter_all_pairs [function] [call site] 00034
9 b::e::n::c::h::_::p::a::i::r::s::_::i::t::e::r::iter_all_pairs [function] [call site] 00035
9 Pair::into_inner [function] [call site] 00036
10 Pair::pair [function] [call site] 00037
10 ExprTopDownIterator::new [function] [call site] 00038
11 ExprTopDownIterator::iterate_expr [function] [call site] 00039
11 FlatPairs::clone [function] [call site] 00040
8 FlatPairs::clone [function] [call site] 00042
9 FlatPairs::clone [function] [call site] 00043
9 FlatPairs::clone [function] [call site] 00044
8 bench_function [function] [call site] 00045
8 autocorrect::JsonParser::parse [function] [call site] 00046
8 Result::unwrap [function] [call site] 00047
8 bench_pairs_iter [function] [call site] 00048
8 FlatPairs::clone [function] [call site] 00049
8 Pairs::flatten [function] [call site] 00050
9 ExprTopDownIterator::new [function] [call site] 00051
10 ExprTopDownIterator::iterate_expr [function] [call site] 00052
10 FlatPairs::clone [function] [call site] 00053
8 bench_function [function] [call site] 00054
8 autocorrect::JsonParser::parse [function] [call site] 00055
8 Result::unwrap [function] [call site] 00056
8 bench_pairs_iter [function] [call site] 00057
8 FlatPairs::clone [function] [call site] 00058
8 clone().collect::<Vec<_>> [function] [call site] 00059
8 bench_function [function] [call site] 00060
8 autocorrect::JsonParser::parse [function] [call site] 00061
8 Result::unwrap [function] [call site] 00062
8 bench_pairs_iter [function] [call site] 00063
8 FlatPairs::clone [function] [call site] 00064
8 Pairs::flatten [function] [call site] 00065
8 clone().flatten().collect::<Vec<_>> [function] [call site] 00066
7 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] 00068
6 &mut [call site] 00070
6 Option::to_owned [function] [call site] 00071
6 &mut [call site] 00073
6 Option::to_owned [function] [call site] 00074
6 PrecClimber::get [function] [call site] 00075
7 bench_pairs_iter [function] [call site] 00076
7 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] 00078
6 child_modifies_state [function] [call site] 00079
7 Expr::iter_top_down [function] [call site] 00080
7 ExprTopDownIterator::any [function] [call site] 00081
7 PrecClimber::get [function] [call site] 00082
7 &mut [call site] 00084
7 Option::to_owned [function] [call site] 00085
7 &mut [call site] 00087
7 Option::to_owned [function] [call site] 00088
7 PrecClimber::get [function] [call site] 00089
7 child_modifies_state [function] [call site] 00090
7 &mut [call site] 00091
7 Option::to_owned [function] [call site] 00092
6 &mut [call site] 00094
6 Option::to_owned [function] [call site] 00095
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::json [function] [call site] 00097
6 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::value [function] [call site] 00098
7 Result::rule [function] [call site] 00099
8 convert_node [function] [call site] 00100
9 Expr::Str [function] [call site] 00101
9 Expr::Insens [function] [call site] 00102
9 Expr::Range [function] [call site] 00103
9 Expr::Ident [function] [call site] 00104
9 Expr::PeekSlice [function] [call site] 00105
9 Expr::PosPred [function] [call site] 00106
9 ExprTopDownIterator::new [function] [call site] 00107
10 ExprTopDownIterator::iterate_expr [function] [call site] 00108
10 FlatPairs::clone [function] [call site] 00109
9 convert_node [function] [call site] 00110
9 Expr::NegPred [function] [call site] 00111
9 ExprTopDownIterator::new [function] [call site] 00112
9 convert_node [function] [call site] 00113
9 Expr::Seq [function] [call site] 00114
9 ExprTopDownIterator::new [function] [call site] 00115
9 convert_node [function] [call site] 00116
9 ExprTopDownIterator::new [function] [call site] 00117
9 convert_node [function] [call site] 00118
9 Expr::Choice [function] [call site] 00119
9 ExprTopDownIterator::new [function] [call site] 00120
9 convert_node [function] [call site] 00121
9 ExprTopDownIterator::new [function] [call site] 00122
9 convert_node [function] [call site] 00123
9 Expr::Opt [function] [call site] 00124
9 ExprTopDownIterator::new [function] [call site] 00125
9 convert_node [function] [call site] 00126
9 Expr::Rep [function] [call site] 00127
9 ExprTopDownIterator::new [function] [call site] 00128
9 convert_node [function] [call site] 00129
9 Expr::RepOnce [function] [call site] 00130
9 ExprTopDownIterator::new [function] [call site] 00131
9 convert_node [function] [call site] 00132
9 Expr::RepExact [function] [call site] 00133
9 ExprTopDownIterator::new [function] [call site] 00134
9 convert_node [function] [call site] 00135
9 Expr::RepMin [function] [call site] 00136
9 ExprTopDownIterator::new [function] [call site] 00137
9 convert_node [function] [call site] 00138
9 Expr::RepMax [function] [call site] 00139
9 ExprTopDownIterator::new [function] [call site] 00140
9 convert_node [function] [call site] 00141
9 Expr::RepMinMax [function] [call site] 00142
9 ExprTopDownIterator::new [function] [call site] 00143
9 convert_node [function] [call site] 00144
9 Expr::Push [function] [call site] 00145
9 ExprTopDownIterator::new [function] [call site] 00146
9 convert_node [function] [call site] 00147
9 Expr::PushLiteral [function] [call site] 00148
9 Expr::NodeTag [function] [call site] 00149
9 ExprTopDownIterator::new [function] [call site] 00150
9 convert_node [function] [call site] 00151
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::pair [function] [call site] 00167
6 Result::rule [function] [call site] 00168
6 tests::long_common_sequence [function] [call site] 00169
6 ParserState::match_string [function] [call site] 00173
7 tests::wrong_pos [function] [call site] 00174
8 fails_with [function] [call site] 00175
9 Vm::parse [function] [call site] 00176
9 Result::unwrap_err [function] [call site] 00177
7 ParserState::match_string [function] [call site] 00178
8 tests::wrong_pos [function] [call site] 00179
8 ParserState::match_string [function] [call site] 00180
8 BorrowedOrArc::from [function] [call site] 00181
9 Self::Borrowed [function] [call site] 00182
9 Self::Owned [function] [call site] 00183
9 ExprTopDownIterator::new [function] [call site] 00184
10 ExprTopDownIterator::iterate_expr [function] [call site] 00185
10 FlatPairs::clone [function] [call site] 00186
8 ParserState::handle_token_parse_result [function] [call site] 00187
9 tests::wrong_pos [function] [call site] 00188
9 ParseAttempts::try_add_new_token [function] [call site] 00189
10 tests::push [function] [call site] 00190
10 target_vec_push_token [function] [call site] 00191
10 test::snapshot_push_clear [function] [call site] 00192
11 Stack::new [function] [call site] 00193
11 tests::push [function] [call site] 00194
11 Stack::snapshot [function] [call site] 00195
12 tests::push [function] [call site] 00196
12 Stack::len [function] [call site] 00197
13 Stack::len [function] [call site] 00198
12 Stack::len [function] [call site] 00199
11 tests::push [function] [call site] 00200
11 Stack::clear_snapshot [function] [call site] 00201
10 test::snapshot_push_clear [function] [call site] 00206
10 test::snapshot_push_clear [function] [call site] 00207
10 tests::push [function] [call site] 00208
10 RulesCallStack::new [function] [call site] 00209
10 target_vec_push_token [function] [call site] 00210
10 tests::push [function] [call site] 00211
10 RulesCallStack::new [function] [call site] 00212
9 ParseAttempts::nullify_expected_tokens [function] [call site] 00213
10 test::snapshot_push_clear [function] [call site] 00214
10 test::snapshot_push_clear [function] [call site] 00215
10 test::snapshot_push_clear [function] [call site] 00216
9 ParseAttempts::try_add_new_token [function] [call site] 00217
7 BorrowedOrArc::from [function] [call site] 00220
7 ParserState::handle_token_parse_result [function] [call site] 00221
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::value [function] [call site] 00228
5 unescape [function] [call site] 00230
6 ExprTopDownIterator::new [function] [call site] 00231
7 ExprTopDownIterator::iterate_expr [function] [call site] 00232
7 FlatPairs::clone [function] [call site] 00233
6 ExprTopDownIterator::next [function] [call site] 00235
7 ExprTopDownIterator::iterate_expr [function] [call site] 00238
7 ExprTopDownIterator::iterate_expr [function] [call site] 00248
6 ExprTopDownIterator::next [function] [call site] 00249
6 tests::push [function] [call site] 00250
6 tests::push [function] [call site] 00251
6 tests::push [function] [call site] 00252
6 tests::push [function] [call site] 00253
6 tests::push [function] [call site] 00254
6 tests::push [function] [call site] 00255
6 tests::push [function] [call site] 00256
6 FlatPairs::clone [function] [call site] 00257
7 FlatPairs::clone [function] [call site] 00258
7 FlatPairs::clone [function] [call site] 00259
6 Stack::len [function] [call site] 00262
6 Stack::len [function] [call site] 00263
6 ExprTopDownIterator::next [function] [call site] 00264
6 u8::from_str_radix [function] [call site] 00265
6 ParserState::checkpoint_ok [function] [call site] 00266
7 Stack::clear_snapshot [function] [call site] 00267
6 tests::push [function] [call site] 00268
6 BorrowedOrArc::from [function] [call site] 00269
7 Self::Borrowed [function] [call site] 00270
7 Self::Owned [function] [call site] 00271
7 ExprTopDownIterator::new [function] [call site] 00272
6 ExprTopDownIterator::next [function] [call site] 00273
6 FlatPairs::clone [function] [call site] 00274
6 take_while [function] [call site] 00275
6 Stack::len [function] [call site] 00277
6 Stack::len [function] [call site] 00278
6 Stack::len [function] [call site] 00279
6 ExprTopDownIterator::next [function] [call site] 00280
6 u32::from_str_radix [function] [call site] 00281
6 ParserState::checkpoint_ok [function] [call site] 00282
6 tests::push [function] [call site] 00283
6 char::from_u32 [function] [call site] 00284
6 tests::push [function] [call site] 00285
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::hex [function] [call site] 00288
6 ParserState::match_range [function] [call site] 00289
7 ParserState::position [function] [call site] 00290
7 tests::wrong_pos [function] [call site] 00291
8 fails_with [function] [call site] 00292
7 ParserState::match_range [function] [call site] 00293
8 ParserState::position [function] [call site] 00294
8 tests::wrong_pos [function] [call site] 00295
8 ParserState::match_range [function] [call site] 00296
8 ParserState::handle_token_parse_result [function] [call site] 00297
7 ParserState::handle_token_parse_result [function] [call site] 00300
6 ParseResult::or_else [function] [call site] 00303
6 ParserState::match_range [function] [call site] 00304
6 ParserState::match_range [function] [call site] 00306
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::int [function] [call site] 00309
6 ParserState::match_string [function] [call site] 00310
6 ParseResult::or_else [function] [call site] 00311
6 tests::long_common_sequence [function] [call site] 00312
6 ParserState::match_range [function] [call site] 00313
6 ParseResult::and_then [function] [call site] 00314
6 ParserState::repeat [function] [call site] 00315
7 ParserState::inc_call_check_limit [function] [call site] 00316
8 CallLimitTracker::limit_reached [function] [call site] 00317
8 CallLimitTracker::increment_depth [function] [call site] 00320
7 tests::lines_eof [function] [call site] 00322
8 Span::new [function] [call site] 00323
9 PrecClimber::get [function] [call site] 00324
10 bench_pairs_iter [function] [call site] 00325
10 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] 00327
8 Option::unwrap [function] [call site] 00330
8 Span::lines [function] [call site] 00331
9 Span::lines_span [function] [call site] 00332
8 Lines::collect [function] [call site] 00333
8 Span::lines_span [function] [call site] 00334
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] 00335
9 Result::iter [function] [call site] 00336
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] 00337
9 FlatPairs::clone [function] [call site] 00338
9 HashMap::collect [function] [call site] 00339
8 BorrowedOrArc::as_str [function] [call site] 00340
9 Result::deref [function] [call site] 00341
8 HashMap::collect [function] [call site] 00342
7 tests::lines_eof [function] [call site] 00343
6 ParserState::match_range [function] [call site] 00345
5 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::exp [function] [call site] 00346
6 tests::long_common_sequence [function] [call site] 00347
6 ParserState::match_string [function] [call site] 00348
6 ParseResult::or_else [function] [call site] 00349
6 ParserState::match_string [function] [call site] 00350
6 ParserState::optional [function] [call site] 00352
7 ParserState::inc_call_check_limit [function] [call site] 00353
7 tests::lines_eof [function] [call site] 00354
6 ParserState::match_string [function] [call site] 00356
6 ParseResult::or_else [function] [call site] 00357
6 ParserState::match_string [function] [call site] 00358
4 Result::unwrap [function] [call site] 00364
4 bench_pairs_iter [function] [call site] 00365
4 b::e::n::c::h::_::p::a::i::r::s::_::i::t::e::r::iter_all_pairs [function] [call site] 00366
4 FlatPairs::clone [function] [call site] 00367
4 bench_function [function] [call site] 00368
4 autocorrect::JsonParser::parse [function] [call site] 00369
4 Result::unwrap [function] [call site] 00370
4 bench_pairs_iter [function] [call site] 00371
4 FlatPairs::clone [function] [call site] 00372
4 Pairs::flatten [function] [call site] 00373
4 bench_function [function] [call site] 00374
4 autocorrect::JsonParser::parse [function] [call site] 00375
4 Result::unwrap [function] [call site] 00376
4 bench_pairs_iter [function] [call site] 00377
4 FlatPairs::clone [function] [call site] 00378
4 clone().collect::<Vec<_>> [function] [call site] 00379
4 bench_function [function] [call site] 00380
4 autocorrect::JsonParser::parse [function] [call site] 00381
4 Result::unwrap [function] [call site] 00382
4 bench_pairs_iter [function] [call site] 00383
4 FlatPairs::clone [function] [call site] 00384
4 Pairs::flatten [function] [call site] 00385
4 clone().flatten().collect::<Vec<_>> [function] [call site] 00386
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] 00387
3 FlatPairs::clone [function] [call site] 00388
3 HashMap::collect [function] [call site] 00389
2 PrecClimber::get [function] [call site] 00390
2 HashMap::unwrap_or [function] [call site] 00391
1 json::JsonParser::parse [function] [call site] 00395
2 pest::state [function] [call site] 00396
2 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::json [function] [call site] 00397
2 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::pair [function] [call site] 00399
2 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::value [function] [call site] 00401
2 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::hex [function] [call site] 00405
2 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::int [function] [call site] 00407
2 J::s::o::n::P::a::r::s::e::r::::::::p::a::r::s::e::exp [function] [call site] 00408