Fuzz introspector: fuzz_amf
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
127 9 LLVMFuzzerTestOneInput call site: 00009 brpc::SkipAMFObjectBody
4 4 LLVMFuzzerTestOneInput call site: 00004 butil::IOBuf::append
3 140 LLVMFuzzerTestOneInput call site: 00140 brpc::AMFInputStream::cutn
3 145 LLVMFuzzerTestOneInput call site: 00145 brpc::AMFInputStream::cutn
2 1 LLVMFuzzerTestOneInput call site: 00001
1 138 LLVMFuzzerTestOneInput call site: 00138 brpc::AMFInputStream::cutn

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 butil::IOBuf::IOBuf [function] [call site] 00001
2 reset_block_ref [function] [call site] 00002
2 reset_block_ref [function] [call site] 00003
1 butil::IOBuf::append [function] [call site] 00004
2 butil::IOBuf::append [function] [call site] 00005
2 butil::IOBuf::length [function] [call site] 00007
3 butil::IOBuf::_small [function] [call site] 00008
1 brpc::ReadAMFObject [function] [call site] 00009
2 brpc::AMFInputStream::cut_u8 [function] [call site] 00010
3 brpc::AMFInputStream::cutn [function] [call site] 00011
2 brpc::ReadAMFObjectBody [function] [call site] 00016
3 EvilService::GetDescriptor [function] [call site] 00017
3 brpc::ReadAMFShortStringBody [function] [call site] 00018
4 brpc::AMFInputStream::cut_u16 [function] [call site] 00019
5 butil::NetToHost16 [function] [call site] 00020
6 butil::ByteSwap [function] [call site] 00021
7 _byteswap_ushort [function] [call site] 00022
5 brpc::AMFInputStream::cutn [function] [call site] 00023
5 butil::NetToHost16 [function] [call site] 00024
4 std::string*::resize [function] [call site] 00026
4 mcpack2pb::InputStream::cutn [function] [call site] 00027
3 std::string::empty [function] [call site] 00032
3 brpc::AMFInputStream::cut_u8 [function] [call site] 00033
3 google::protobuf::Descriptor*::FindFieldByName [function] [call site] 00036
3 RPC_VLOG_IF [function] [call site] 00037
3 google::protobuf::Descriptor*::full_name [function] [call site] 00038
3 brpc::ReadAMFObjectField [function] [call site] 00039
4 google::protobuf::Message*::GetReflection [function] [call site] 00040
4 brpc::AMFInputStream::cut_u8 [function] [call site] 00041
4 brpc::AMFInputStream::cut_u64 [function] [call site] 00043
5 butil::NetToHost64 [function] [call site] 00044
6 butil::ByteSwap [function] [call site] 00045
5 brpc::AMFInputStream::cutn [function] [call site] 00046
5 butil::NetToHost64 [function] [call site] 00047
4 google::protobuf::FieldDescriptor*::cpp_type [function] [call site] 00049
4 google::protobuf::FieldDescriptor*::full_name [function] [call site] 00051
4 google::protobuf::Reflection*::SetDouble [function] [call site] 00052
4 brpc::AMFInputStream::cut_u8 [function] [call site] 00053
4 google::protobuf::FieldDescriptor*::cpp_type [function] [call site] 00055
4 google::protobuf::FieldDescriptor*::full_name [function] [call site] 00057
4 brpc::AMFField::SetBool [function] [call site] 00058
5 brpc::AMFField::Clear [function] [call site] 00059
6 brpc::AMFField::SlowerClear [function] [call site] 00060
7 brpc::AMFField::type [function] [call site] 00061
4 brpc::ReadAMFShortStringBody [function] [call site] 00063
4 google::protobuf::FieldDescriptor*::cpp_type [function] [call site] 00064
4 google::protobuf::FieldDescriptor*::full_name [function] [call site] 00066
4 brpc::RedisReply::SetString [function] [call site] 00067
5 brpc::RedisReply::SetStringImpl [function] [call site] 00068
6 brpc::RedisReply::Reset [function] [call site] 00069
6 brpc::RedisReply::size [function] [call site] 00070
6 brpc::RedisReply::data [function] [call site] 00072
7 brpc::RedisReply::is_string [function] [call site] 00073
7 butil::BasicStringPiece::BasicStringPiece [function] [call site] 00074
7 butil::BasicStringPiece::BasicStringPiece [function] [call site] 00075
7 RedisReplyTypeToString [function] [call site] 00077
7 butil::BasicStringPiece::BasicStringPiece [function] [call site] 00078
6 brpc::RedisReply::data [function] [call site] 00082
4 brpc::ReadAMFShortStringBody [function] [call site] 00083
4 google::protobuf::FieldDescriptor*::cpp_type [function] [call site] 00085
4 google::protobuf::FieldDescriptor*::full_name [function] [call site] 00087
4 google::protobuf::Reflection*::MutableMessage [function] [call site] 00088
4 brpc::ReadAMFObjectBody [function] [call site] 00089
4 brpc::SkipAMFObjectBody [function] [call site] 00090
5 brpc::ReadAMFShortStringBody [function] [call site] 00091
5 std::string::empty [function] [call site] 00092
5 brpc::AMFInputStream::cut_u8 [function] [call site] 00093
5 brpc::ReadAMFObjectField [function] [call site] 00096
4 brpc::marker2str [function] [call site] 00098
4 brpc::ReadAMFLongStringBody [function] [call site] 00100
5 brpc::AMFInputStream::cut_u32 [function] [call site] 00101
6 butil::NetToHost32 [function] [call site] 00102
7 butil::ByteSwap [function] [call site] 00103
6 brpc::AMFInputStream::cutn [function] [call site] 00104
6 butil::NetToHost32 [function] [call site] 00105
5 std::string*::resize [function] [call site] 00107
5 mcpack2pb::InputStream::cutn [function] [call site] 00108
4 google::protobuf::FieldDescriptor*::cpp_type [function] [call site] 00111
4 google::protobuf::FieldDescriptor*::full_name [function] [call site] 00113
4 brpc::RedisReply::SetString [function] [call site] 00114
2 brpc::ReadAMFEcmaArrayBody [function] [call site] 00115
3 brpc::AMFInputStream::cut_u32 [function] [call site] 00116
3 EvilService::GetDescriptor [function] [call site] 00118
3 brpc::ReadAMFShortStringBody [function] [call site] 00119
3 google::protobuf::Descriptor*::FindFieldByName [function] [call site] 00121
3 RPC_VLOG_IF [function] [call site] 00122
3 google::protobuf::Descriptor*::full_name [function] [call site] 00123
3 brpc::ReadAMFObjectField [function] [call site] 00124
2 brpc::marker2str [function] [call site] 00126
2 brpc::RedisRequest::IsInitialized [function] [call site] 00127
2 brpc::NonreflectableMessage::InitializationErrorString [function] [call site] 00129
1 brpc::ReadAMFString [function] [call site] 00130
2 brpc::AMFInputStream::cut_u8 [function] [call site] 00131
2 brpc::ReadAMFShortStringBody [function] [call site] 00133
2 brpc::ReadAMFLongStringBody [function] [call site] 00134
2 brpc::marker2str [function] [call site] 00136
1 brpc::AMFInputStream::good [function] [call site] 00137
1 brpc::AMFInputStream::cut_u8 [function] [call site] 00138
2 brpc::AMFInputStream::cutn [function] [call site] 00139
1 brpc::AMFInputStream::cut_u64 [function] [call site] 00140
2 butil::NetToHost64 [function] [call site] 00141
2 brpc::AMFInputStream::cutn [function] [call site] 00142
2 butil::NetToHost64 [function] [call site] 00143
1 brpc::AMFInputStream::cut_u8 [function] [call site] 00144
1 brpc::AMFInputStream::cut_u16 [function] [call site] 00145
2 butil::NetToHost16 [function] [call site] 00146
2 brpc::AMFInputStream::cutn [function] [call site] 00147
2 butil::NetToHost16 [function] [call site] 00148
1 brpc::AMFInputStream::cutn [function] [call site] 00149