Fuzz introspector: structured_roundtrip_compact
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
218 234 BasicTypes::read_from_in_protocol call site: 00234 Containers::read_from_in_protocol
37 3 TConfiguration::builder call site: 00003
15 44 TConfiguration::default call site: 00044
13 92 TBufferChannel::set_readable_bytes call site: 00092 FuzzTest::read_from_in_protocol
10 61 Option::build call site: 00061
4 156 BasicTypes::read_from_in_protocol call site: 00156
3 79 TBufferChannel::with_capacity call site: 00079
2 0 EP call site: 00000 run
2 72 TBufferChannel::with_capacity call site: 00072
2 106 thrift::protocol::field_id call site: 00106 BasicTypes::read_from_in_protocol
2 116 BasicTypes::read_from_in_protocol call site: 00116
2 127 BasicTypes::read_from_in_protocol call site: 00127

Fuzzer calltree

0 fuzz_target [function] [call site] 00000
1 run [function] [call site] 00001
2 TConfiguration::builder [function] [call site] 00002
3 CalculatorServer::default [function] [call site] 00003
4 SharedStruct::new [function] [call site] 00004
5 BTreeMap::into [function] [call site] 00006
4 SharedStruct::new [function] [call site] 00007
5 BTreeMap::into [function] [call site] 00009
2 TConfigurationBuilder::max_message_size [function] [call site] 00010
2 &[u8]::len [function] [call site] 00012
2 TConfiguration::max_frame_size [function] [call site] 00013
2 &[u8]::len [function] [call site] 00015
2 TConfiguration::max_container_size [function] [call site] 00016
2 TConfiguration::max_string_size [function] [call site] 00018
2 &[u8]::len [function] [call site] 00020
2 Option::build [function] [call site] 00021
3 TTcpChannel::split [function] [call site] 00022
4 Result::try_clone [function] [call site] 00025
4 ThriftTestSyncHandlerImpl::handle_test_map [function] [call site] 00027
4 ReadHalf::new [function] [call site] 00029
4 WriteHalf::new [function] [call site] 00031
4 ok_or_else [function] [call site] 00033
4 new_transport_error [function] [call site] 00034
5 Error::Transport [function] [call site] 00035
5 TransportError::new [function] [call site] 00036
6 crate::Result::into [function] [call site] 00037
3 TFramedReadTransport::new [function] [call site] 00038
4 TFramedReadTransport::with_capacity [function] [call site] 00039
3 TFramedWriteTransport::new [function] [call site] 00045
4 TFramedWriteTransport::with_capacity [function] [call site] 00046
5 TBufferedReadTransport::with_capacity [function] [call site] 00047
6 into_boxed_slice [function] [call site] 00048
3 SharedStruct::new [function] [call site] 00049
4 BTreeMap::into [function] [call site] 00051
3 TBinaryInputProtocol::new [function] [call site] 00052
4 TCompactInputProtocol::with_config [function] [call site] 00053
5 SharedStruct::new [function] [call site] 00054
6 BTreeMap::into [function] [call site] 00056
4 TConfiguration::default [function] [call site] 00057
3 SharedStruct::new [function] [call site] 00058
3 TBinaryOutputProtocol::new [function] [call site] 00059
3 SharedStruct::new [function] [call site] 00060
3 TCompactInputProtocol::new [function] [call site] 00061
4 TCompactInputProtocol::with_config [function] [call site] 00062
4 TConfiguration::default [function] [call site] 00063
3 SharedStruct::new [function] [call site] 00064
3 TCompactOutputProtocol::new [function] [call site] 00065
4 SharedStruct::new [function] [call site] 00066
2 thrift::Result::unwrap [function] [call site] 00070
2 TBufferChannel::with_capacity [function] [call site] 00071
3 SharedStruct::new [function] [call site] 00072
4 BTreeMap::into [function] [call site] 00074
3 SharedStruct::new [function] [call site] 00075
3 into_boxed_slice [function] [call site] 00076
3 SharedStruct::new [function] [call site] 00077
3 SharedStruct::new [function] [call site] 00078
3 into_boxed_slice [function] [call site] 00079
2 &[u8]::len [function] [call site] 00080
2 &[u8]::len [function] [call site] 00081
2 TBufferChannel::set_readable_bytes [function] [call site] 00082
3 TBufferChannel::empty_read_buffer [function] [call site] 00083
3 &[u8]::len [function] [call site] 00091
3 clone_from_slice [function] [call site] 00092
2 TCompactInputProtocol::with_config [function] [call site] 00093
3 SharedStruct::new [function] [call site] 00094
2 FuzzTest::read_from_in_protocol [function] [call site] 00095
3 TStoredInputProtocol::read_struct_begin [function] [call site] 00096
4 TStoredInputProtocol::read_struct_begin [function] [call site] 00097
5 TStoredInputProtocol::read_struct_begin [function] [call site] 00098
3 SharedStruct::new [function] [call site] 00101
3 TStoredInputProtocol::read_field_begin [function] [call site] 00102
4 TStoredInputProtocol::read_field_begin [function] [call site] 00103
5 TStoredInputProtocol::read_field_begin [function] [call site] 00104
3 thrift::protocol::field_id [function] [call site] 00105
4 ok_or_else [function] [call site] 00106
4 crate::Error::Protocol [function] [call site] 00107
3 BasicTypes::read_from_in_protocol [function] [call site] 00108
4 TStoredInputProtocol::read_struct_begin [function] [call site] 00109
4 Operation::from [function] [call site] 00116
5 Operation::from [function] [call site] 00117
6 Operation::from [function] [call site] 00118
4 &str::to_owned [function] [call site] 00120
4 SharedStruct::new [function] [call site] 00122
4 uuid::Uuid::nil [function] [call site] 00124
4 TStoredInputProtocol::read_field_begin [function] [call site] 00125
4 thrift::protocol::field_id [function] [call site] 00126
4 TStoredInputProtocol::read_bool [function] [call site] 00127
5 TStoredInputProtocol::read_bool [function] [call site] 00128
6 TStoredInputProtocol::read_bool [function] [call site] 00129
4 TStoredInputProtocol::read_i8 [function] [call site] 00131
5 TStoredInputProtocol::read_i8 [function] [call site] 00132
6 TStoredInputProtocol::read_i8 [function] [call site] 00133
4 TStoredInputProtocol::read_i16 [function] [call site] 00135
5 TStoredInputProtocol::read_i16 [function] [call site] 00136
6 TStoredInputProtocol::read_i16 [function] [call site] 00137
4 TStoredInputProtocol::read_i32 [function] [call site] 00139
5 TStoredInputProtocol::read_i32 [function] [call site] 00140
6 TStoredInputProtocol::read_i32 [function] [call site] 00141
4 TStoredInputProtocol::read_i64 [function] [call site] 00143
5 TStoredInputProtocol::read_i64 [function] [call site] 00144
6 TStoredInputProtocol::read_i64 [function] [call site] 00145
4 Operation::from [function] [call site] 00147
4 TStoredInputProtocol::read_double [function] [call site] 00148
5 TStoredInputProtocol::read_double [function] [call site] 00149
6 TStoredInputProtocol::read_double [function] [call site] 00150
4 TStoredInputProtocol::read_string [function] [call site] 00152
5 TStoredInputProtocol::read_string [function] [call site] 00153
6 TStoredInputProtocol::read_string [function] [call site] 00154
4 TBufferChannel::read_bytes [function] [call site] 00156
4 TStoredInputProtocol::read_uuid [function] [call site] 00162
5 TStoredInputProtocol::read_uuid [function] [call site] 00163
6 TStoredInputProtocol::read_uuid [function] [call site] 00164
4 TInputProtocol::skip [function] [call site] 00166
5 TInputProtocol::skip_till_depth [function] [call site] 00167
6 crate::Error::Protocol [function] [call site] 00169
6 TStoredInputProtocol::read_bool [function] [call site] 00170
7 TStoredInputProtocol::read_bool [function] [call site] 00171
6 crate::Result::map [function] [call site] 00172
6 TStoredInputProtocol::read_i8 [function] [call site] 00174
7 TStoredInputProtocol::read_i8 [function] [call site] 00175
6 crate::Result::map [function] [call site] 00176
6 TStoredInputProtocol::read_i16 [function] [call site] 00177
7 TStoredInputProtocol::read_i16 [function] [call site] 00178
6 crate::Result::map [function] [call site] 00179
6 TStoredInputProtocol::read_i32 [function] [call site] 00180
7 TStoredInputProtocol::read_i32 [function] [call site] 00181
6 crate::Result::map [function] [call site] 00182
6 TStoredInputProtocol::read_i64 [function] [call site] 00183
7 TStoredInputProtocol::read_i64 [function] [call site] 00184
6 crate::Result::map [function] [call site] 00185
6 TStoredInputProtocol::read_double [function] [call site] 00186
7 TStoredInputProtocol::read_double [function] [call site] 00187
6 crate::Result::map [function] [call site] 00188
6 TStoredInputProtocol::read_string [function] [call site] 00189
7 TStoredInputProtocol::read_string [function] [call site] 00190
6 crate::Result::map [function] [call site] 00191
6 TStoredInputProtocol::read_uuid [function] [call site] 00192
7 TStoredInputProtocol::read_uuid [function] [call site] 00193
6 crate::Result::map [function] [call site] 00194
6 TStoredInputProtocol::read_struct_begin [function] [call site] 00195
7 TStoredInputProtocol::read_struct_begin [function] [call site] 00196
6 TStoredInputProtocol::read_field_begin [function] [call site] 00197
7 TStoredInputProtocol::read_field_begin [function] [call site] 00198
6 TInputProtocol::skip_till_depth [function] [call site] 00199
6 TStoredInputProtocol::read_struct_end [function] [call site] 00200
7 TStoredInputProtocol::read_struct_end [function] [call site] 00201
8 TStoredInputProtocol::read_struct_end [function] [call site] 00202
6 TStoredInputProtocol::read_list_begin [function] [call site] 00203
7 TStoredInputProtocol::read_list_begin [function] [call site] 00204
8 TStoredInputProtocol::read_list_begin [function] [call site] 00205
6 TInputProtocol::skip_till_depth [function] [call site] 00206
6 TStoredInputProtocol::read_list_end [function] [call site] 00207
7 TStoredInputProtocol::read_list_end [function] [call site] 00208
8 TStoredInputProtocol::read_list_end [function] [call site] 00209
6 TStoredInputProtocol::read_set_begin [function] [call site] 00210
7 TStoredInputProtocol::read_set_begin [function] [call site] 00211
8 TStoredInputProtocol::read_set_begin [function] [call site] 00212
6 TInputProtocol::skip_till_depth [function] [call site] 00213
6 TStoredInputProtocol::read_set_end [function] [call site] 00214
7 TStoredInputProtocol::read_set_end [function] [call site] 00215
8 TStoredInputProtocol::read_set_end [function] [call site] 00216
6 TStoredInputProtocol::read_map_begin [function] [call site] 00217
7 TStoredInputProtocol::read_map_begin [function] [call site] 00218
8 TStoredInputProtocol::read_map_begin [function] [call site] 00219
6 TInputProtocol::skip_till_depth [function] [call site] 00222
6 TInputProtocol::skip_till_depth [function] [call site] 00223
6 TStoredInputProtocol::read_map_end [function] [call site] 00224
7 TStoredInputProtocol::read_map_end [function] [call site] 00225
8 TStoredInputProtocol::read_map_end [function] [call site] 00226
6 crate::Error::Protocol [function] [call site] 00228
4 TStoredInputProtocol::read_field_end [function] [call site] 00229
5 TStoredInputProtocol::read_field_end [function] [call site] 00230
6 TStoredInputProtocol::read_field_end [function] [call site] 00231
4 TStoredInputProtocol::read_struct_end [function] [call site] 00232
5 TStoredInputProtocol::read_struct_end [function] [call site] 00233
3 Requiredness::read_from_in_protocol [function] [call site] 00236
4 TStoredInputProtocol::read_struct_begin [function] [call site] 00237
4 TStoredInputProtocol::read_field_begin [function] [call site] 00239
4 thrift::protocol::field_id [function] [call site] 00240
4 TStoredInputProtocol::read_i32 [function] [call site] 00241
4 TStoredInputProtocol::read_i32 [function] [call site] 00243
4 TStoredInputProtocol::read_i32 [function] [call site] 00245
4 TStoredInputProtocol::read_string [function] [call site] 00247
4 TStoredInputProtocol::read_bool [function] [call site] 00249
4 TInputProtocol::skip [function] [call site] 00251
4 TStoredInputProtocol::read_field_end [function] [call site] 00252
4 TStoredInputProtocol::read_struct_end [function] [call site] 00253
4 thrift::protocol::verify_required_field_exists [function] [call site] 00254
4 thrift::protocol::verify_required_field_exists [function] [call site] 00258
4 None::expect [function] [call site] 00259
4 None::expect [function] [call site] 00260
3 Containers::read_from_in_protocol [function] [call site] 00263
4 TStoredInputProtocol::read_struct_begin [function] [call site] 00264
4 SharedStruct::new [function] [call site] 00266
4 SharedStruct::new [function] [call site] 00268
5 BTreeMap::into [function] [call site] 00270
4 SharedStruct::new [function] [call site] 00272
5 BTreeMap::into [function] [call site] 00274
4 SharedStruct::new [function] [call site] 00276
4 SharedStruct::new [function] [call site] 00278
4 SharedStruct::new [function] [call site] 00280
4 TStoredInputProtocol::read_field_begin [function] [call site] 00281
4 thrift::protocol::field_id [function] [call site] 00282
4 TStoredInputProtocol::read_list_begin [function] [call site] 00283
5 TStoredInputProtocol::read_list_begin [function] [call site] 00284
4 TBufferedReadTransport::with_capacity [function] [call site] 00285
4 TStoredInputProtocol::read_i32 [function] [call site] 00286
4 TBufferedReadTransport::push [function] [call site] 00287
4 TStoredInputProtocol::read_list_end [function] [call site] 00288
5 TStoredInputProtocol::read_list_end [function] [call site] 00289
4 TStoredInputProtocol::read_set_begin [function] [call site] 00291
5 TStoredInputProtocol::read_set_begin [function] [call site] 00292
4 SharedStruct::new [function] [call site] 00293
4 TStoredInputProtocol::read_string [function] [call site] 00294
4 SharedStruct::insert [function] [call site] 00295
4 TStoredInputProtocol::read_set_end [function] [call site] 00296
5 TStoredInputProtocol::read_set_end [function] [call site] 00297
4 TStoredInputProtocol::read_map_begin [function] [call site] 00299
5 TStoredInputProtocol::read_map_begin [function] [call site] 00300
4 SharedStruct::new [function] [call site] 00301
4 TStoredInputProtocol::read_i32 [function] [call site] 00302
4 TStoredInputProtocol::read_string [function] [call site] 00303
4 SharedStruct::insert [function] [call site] 00304
4 TStoredInputProtocol::read_map_end [function] [call site] 00305
5 TStoredInputProtocol::read_map_end [function] [call site] 00306
4 TStoredInputProtocol::read_list_begin [function] [call site] 00308
4 TBufferedReadTransport::with_capacity [function] [call site] 00309
4 BasicTypes::read_from_in_protocol [function] [call site] 00310
4 TBufferedReadTransport::push [function] [call site] 00311
4 TStoredInputProtocol::read_list_end [function] [call site] 00312
4 TStoredInputProtocol::read_map_begin [function] [call site] 00314
4 SharedStruct::new [function] [call site] 00315
4 TStoredInputProtocol::read_string [function] [call site] 00316
4 TStoredInputProtocol::read_list_begin [function] [call site] 00317
4 TBufferedReadTransport::with_capacity [function] [call site] 00318
4 TStoredInputProtocol::read_i32 [function] [call site] 00319
4 TBufferedReadTransport::push [function] [call site] 00320
4 TStoredInputProtocol::read_list_end [function] [call site] 00321
4 SharedStruct::insert [function] [call site] 00322
4 TStoredInputProtocol::read_map_end [function] [call site] 00323
4 TStoredInputProtocol::read_set_begin [function] [call site] 00325
4 SharedStruct::new [function] [call site] 00326
4 TStoredInputProtocol::read_i64 [function] [call site] 00327
4 SharedStruct::insert [function] [call site] 00328
4 TStoredInputProtocol::read_set_end [function] [call site] 00329
4 TInputProtocol::skip [function] [call site] 00331
4 TStoredInputProtocol::read_field_end [function] [call site] 00332
4 TStoredInputProtocol::read_struct_end [function] [call site] 00333
3 TestUnion::read_from_in_protocol [function] [call site] 00336
4 TStoredInputProtocol::read_struct_begin [function] [call site] 00337
4 TStoredInputProtocol::read_field_begin [function] [call site] 00338
4 thrift::protocol::field_id [function] [call site] 00339
4 TStoredInputProtocol::read_i32 [function] [call site] 00340
4 None::is_none [function] [call site] 00341
4 TestUnion::IntField [function] [call site] 00343
4 TStoredInputProtocol::read_string [function] [call site] 00344
4 None::is_none [function] [call site] 00345
4 TestUnion::StringField [function] [call site] 00347
4 BasicTypes::read_from_in_protocol [function] [call site] 00348
4 None::is_none [function] [call site] 00349
4 TestUnion::StructField [function] [call site] 00351
4 TBufferChannel::read_bytes [function] [call site] 00352
4 None::is_none [function] [call site] 00353
4 TestUnion::BinaryField [function] [call site] 00355
4 TInputProtocol::skip [function] [call site] 00356
4 TStoredInputProtocol::read_field_end [function] [call site] 00357
4 TStoredInputProtocol::read_struct_end [function] [call site] 00358
4 thrift::Error::Protocol [function] [call site] 00360
4 ProtocolError::new [function] [call site] 00361
5 crate::Result::into [function] [call site] 00362
4 thrift::Error::Protocol [function] [call site] 00364
4 ProtocolError::new [function] [call site] 00365
4 thrift::Error::Protocol [function] [call site] 00368
4 ProtocolError::new [function] [call site] 00369
3 RecursiveStruct::read_from_in_protocol [function] [call site] 00371
4 TStoredInputProtocol::read_struct_begin [function] [call site] 00372
4 TStoredInputProtocol::read_field_begin [function] [call site] 00374
4 thrift::protocol::field_id [function] [call site] 00375
4 SharedStruct::new [function] [call site] 00376
4 RecursiveStruct::read_from_in_protocol [function] [call site] 00377
4 TStoredInputProtocol::read_i32 [function] [call site] 00379
4 TStoredInputProtocol::read_list_begin [function] [call site] 00381
4 TBufferedReadTransport::with_capacity [function] [call site] 00382
4 SharedStruct::new [function] [call site] 00383
4 RecursiveStruct::read_from_in_protocol [function] [call site] 00384
4 TBufferedReadTransport::push [function] [call site] 00385
4 TStoredInputProtocol::read_list_end [function] [call site] 00386
4 TInputProtocol::skip [function] [call site] 00388
4 TStoredInputProtocol::read_field_end [function] [call site] 00389
4 TStoredInputProtocol::read_struct_end [function] [call site] 00390
3 EmptyStruct::read_from_in_protocol [function] [call site] 00393
4 TStoredInputProtocol::read_struct_begin [function] [call site] 00394
4 TStoredInputProtocol::read_field_begin [function] [call site] 00395
4 TInputProtocol::skip [function] [call site] 00396
4 TStoredInputProtocol::read_field_end [function] [call site] 00397
4 TStoredInputProtocol::read_struct_end [function] [call site] 00398
3 FieldIDTest::read_from_in_protocol [function] [call site] 00401
4 TStoredInputProtocol::read_struct_begin [function] [call site] 00402
4 TStoredInputProtocol::read_field_begin [function] [call site] 00407
4 thrift::protocol::field_id [function] [call site] 00408
4 TStoredInputProtocol::read_i32 [function] [call site] 00409
4 TStoredInputProtocol::read_i32 [function] [call site] 00411
4 TStoredInputProtocol::read_i32 [function] [call site] 00413
4 TStoredInputProtocol::read_i32 [function] [call site] 00415
4 TInputProtocol::skip [function] [call site] 00417
4 TStoredInputProtocol::read_field_end [function] [call site] 00418
4 TStoredInputProtocol::read_struct_end [function] [call site] 00419
3 TestEnum::read_from_in_protocol [function] [call site] 00422
4 TStoredInputProtocol::read_i32 [function] [call site] 00423
4 TestEnum::from [function] [call site] 00425
5 TestEnum::from [function] [call site] 00426
3 TStoredInputProtocol::read_map_begin [function] [call site] 00428
3 SharedStruct::new [function] [call site] 00429
3 TestEnum::read_from_in_protocol [function] [call site] 00430
3 TStoredInputProtocol::read_string [function] [call site] 00431
3 SharedStruct::insert [function] [call site] 00432
3 TStoredInputProtocol::read_map_end [function] [call site] 00433
3 TStoredInputProtocol::read_i64 [function] [call site] 00435
3 TBufferChannel::read_bytes [function] [call site] 00437
3 TInputProtocol::skip [function] [call site] 00439
3 TStoredInputProtocol::read_field_end [function] [call site] 00440
3 TStoredInputProtocol::read_struct_end [function] [call site] 00441
3 thrift::protocol::verify_required_field_exists [function] [call site] 00442
3 thrift::protocol::verify_required_field_exists [function] [call site] 00443
3 thrift::protocol::verify_required_field_exists [function] [call site] 00444
3 thrift::protocol::verify_required_field_exists [function] [call site] 00445
3 thrift::protocol::verify_required_field_exists [function] [call site] 00446
3 None::expect [function] [call site] 00447
3 None::expect [function] [call site] 00448
3 None::expect [function] [call site] 00449
3 None::expect [function] [call site] 00450
3 None::expect [function] [call site] 00451