Fuzz introspector: draco_pc_decoder_without_dequantization_fuzzer
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
173 0 EP call site: 00000 memcmp

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 draco::DecoderBuffer::DecoderBuffer() [function] [call site] 00001
2 draco::DecoderBuffer::BitDecoder::BitDecoder() [function] [call site] 00002
1 draco::DecoderBuffer::Init(char const*, unsigned long) [function] [call site] 00003
2 draco::DecoderBuffer::Init(char const*, unsigned long, unsigned short) [function] [call site] 00004
1 draco::Decoder::Decoder() [function] [call site] 00005
2 draco::DracoOptions<draco::GeometryAttribute::Type>::DracoOptions() [function] [call site] 00006
3 draco::Options::Options() [function] [call site] 00007
1 draco::Decoder::SetSkipAttributeTransform(draco::GeometryAttribute::Type) [function] [call site] 00008
2 draco::DracoOptions<draco::GeometryAttribute::Type>::SetAttributeBool(draco::GeometryAttribute::Type const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00009
3 draco::DracoOptions<draco::GeometryAttribute::Type>::GetAttributeOptions(draco::GeometryAttribute::Type const&) [function] [call site] 00010
4 draco::Options::Options() [function] [call site] 00011
4 draco::Options::~Options() [function] [call site] 00012
3 draco::Options::SetBool(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00013
1 draco::Decoder::DecodePointCloudFromBuffer(draco::DecoderBuffer*) [function] [call site] 00014
2 draco::Decoder::GetEncodedGeometryType(draco::DecoderBuffer*) [function] [call site] 00015
3 draco::PointCloudDecoder::DecodeHeader(draco::DecoderBuffer*, draco::DracoHeader*) [function] [call site] 00016
4 draco::DecoderBuffer::Decode(void*, unsigned long) [function] [call site] 00017
4 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00018
4 memcmp [call site] 00019
4 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00020
4 bool draco::DecoderBuffer::Decode<unsigned char>(unsigned char*) [function] [call site] 00021
5 bool draco::DecoderBuffer::Peek<unsigned char>(unsigned char*) [function] [call site] 00022
4 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00023
4 bool draco::DecoderBuffer::Decode<unsigned char>(unsigned char*) [function] [call site] 00024
4 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00025
4 bool draco::DecoderBuffer::Decode<unsigned char>(unsigned char*) [function] [call site] 00026
4 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00027
4 bool draco::DecoderBuffer::Decode<unsigned char>(unsigned char*) [function] [call site] 00028
4 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00029
4 bool draco::DecoderBuffer::Decode<unsigned short>(unsigned short*) [function] [call site] 00030
5 bool draco::DecoderBuffer::Peek<unsigned short>(unsigned short*) [function] [call site] 00031
4 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00032
4 draco::OkStatus() [function] [call site] 00033
5 draco::Status::Status(draco::Status::Code) [function] [call site] 00034
3 draco::Status::ok() const [function] [call site] 00035
3 draco::StatusOr<draco::EncodedGeometryType>::StatusOr(draco::Status const&) [function] [call site] 00036
4 draco::Status::Status(draco::Status const&) [function] [call site] 00037
3 draco::Status::~Status() [function] [call site] 00038
3 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00039
3 draco::StatusOr<draco::EncodedGeometryType>::StatusOr(draco::Status const&) [function] [call site] 00040
3 draco::Status::~Status() [function] [call site] 00041
3 draco::StatusOr<draco::EncodedGeometryType>::StatusOr(draco::EncodedGeometryType&&) [function] [call site] 00042
4 draco::OkStatus() [function] [call site] 00043
3 draco::DecoderBuffer::~DecoderBuffer() [function] [call site] 00044
4 draco::DecoderBuffer::BitDecoder::~BitDecoder() [function] [call site] 00045
2 draco::StatusOr<draco::EncodedGeometryType>::ok() const [function] [call site] 00046
3 draco::Status::ok() const [function] [call site] 00047
2 draco::StatusOr<draco::EncodedGeometryType>::status() const [function] [call site] 00048
2 draco::Status::Status(draco::Status const&) [function] [call site] 00049
2 draco::StatusOr<std::__1::unique_ptr<draco::PointCloud, std::__1::default_delete<draco::PointCloud> > >::StatusOr(draco::Status const&) [function] [call site] 00050
2 draco::Status::~Status() [function] [call site] 00051
2 draco::StatusOr<draco::EncodedGeometryType>::value() && [function] [call site] 00052
2 draco::PointCloud::PointCloud() [function] [call site] 00053
2 draco::Decoder::DecodeBufferToGeometry(draco::DecoderBuffer*, draco::PointCloud*) [function] [call site] 00054
3 draco::PointCloudDecoder::DecodeHeader(draco::DecoderBuffer*, draco::DracoHeader*) [function] [call site] 00055
3 draco::Status::ok() const [function] [call site] 00056
3 draco::Status::~Status() [function] [call site] 00057
3 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00058
3 draco::CreatePointCloudDecoder(signed char) [function] [call site] 00059
4 draco::PointCloudSequentialDecoder::PointCloudSequentialDecoder() [function] [call site] 00060
5 draco::PointCloudDecoder::PointCloudDecoder() [function] [call site] 00061
4 draco::StatusOr<std::__1::unique_ptr<draco::PointCloudDecoder, std::__1::default_delete<draco::PointCloudDecoder> > >::StatusOr(std::__1::unique_ptr<draco::PointCloudDecoder, std::__1::default_delete<draco::PointCloudDecoder> >&&) [function] [call site] 00062
4 draco::PointCloudKdTreeDecoder::PointCloudKdTreeDecoder() [function] [call site] 00063
5 draco::PointCloudDecoder::PointCloudDecoder() [function] [call site] 00064
4 draco::StatusOr<std::__1::unique_ptr<draco::PointCloudDecoder, std::__1::default_delete<draco::PointCloudDecoder> > >::StatusOr(std::__1::unique_ptr<draco::PointCloudDecoder, std::__1::default_delete<draco::PointCloudDecoder> >&&) [function] [call site] 00065
4 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00066
4 draco::StatusOr<std::__1::unique_ptr<draco::PointCloudDecoder, std::__1::default_delete<draco::PointCloudDecoder> > >::StatusOr(draco::Status const&) [function] [call site] 00067
4 draco::Status::~Status() [function] [call site] 00068
3 draco::StatusOr<std::__1::unique_ptr<draco::PointCloudDecoder, std::__1::default_delete<draco::PointCloudDecoder> > >::ok() const [function] [call site] 00069
3 draco::StatusOr<std::__1::unique_ptr<draco::PointCloudDecoder, std::__1::default_delete<draco::PointCloudDecoder> > >::status() const [function] [call site] 00070
3 draco::Status::Status(draco::Status const&) [function] [call site] 00071
3 draco::StatusOr<std::__1::unique_ptr<draco::PointCloudDecoder, std::__1::default_delete<draco::PointCloudDecoder> > >::value() && [function] [call site] 00072
3 draco::PointCloudDecoder::Decode(draco::DracoOptions<draco::GeometryAttribute::Type> const&, draco::DecoderBuffer*, draco::PointCloud*) [function] [call site] 00073
4 draco::PointCloudDecoder::DecodeHeader(draco::DecoderBuffer*, draco::DracoHeader*) [function] [call site] 00074
4 draco::Status::ok() const [function] [call site] 00075
4 draco::Status::~Status() [function] [call site] 00076
4 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00077
4 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00078
4 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00079
4 draco::DecoderBuffer::set_bitstream_version(unsigned short) [function] [call site] 00080
4 draco::PointCloudDecoder::bitstream_version() const [function] [call site] 00081
4 draco::PointCloudDecoder::DecodeMetadata() [function] [call site] 00082
5 draco::GeometryMetadata::GeometryMetadata() [function] [call site] 00083
6 draco::Metadata::Metadata() [function] [call site] 00084
5 draco::MetadataDecoder::MetadataDecoder() [function] [call site] 00085
5 draco::MetadataDecoder::DecodeGeometryMetadata(draco::DecoderBuffer*, draco::GeometryMetadata*) [function] [call site] 00086
6 bool draco::DecodeVarint<unsigned int>(unsigned int*, draco::DecoderBuffer*) [function] [call site] 00087
7 bool draco::(anonymous namespace)::DecodeVarintUnsigned<unsigned int>(int, unsigned int*, draco::DecoderBuffer*) [function] [call site] 00088
8 bool draco::DecoderBuffer::Decode<unsigned char>(unsigned char*) [function] [call site] 00089
8 bool draco::(anonymous namespace)::DecodeVarintUnsigned<unsigned int>(int, unsigned int*, draco::DecoderBuffer*) [function] [call site] 00090
6 bool draco::DecodeVarint<unsigned int>(unsigned int*, draco::DecoderBuffer*) [function] [call site] 00091
6 draco::AttributeMetadata::AttributeMetadata() [function] [call site] 00092
7 draco::Metadata::Metadata() [function] [call site] 00093
6 draco::AttributeMetadata::set_att_unique_id(unsigned int) [function] [call site] 00094
6 draco::MetadataDecoder::DecodeMetadata(draco::Metadata*) [function] [call site] 00095
7 draco::MetadataDecoder::DecodeName(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) [function] [call site] 00096
8 bool draco::DecoderBuffer::Decode<unsigned char>(unsigned char*) [function] [call site] 00097
8 draco::DecoderBuffer::Decode(void*, unsigned long) [function] [call site] 00098
7 draco::Metadata::Metadata() [function] [call site] 00099
7 draco::Metadata::AddSubMetadata(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::unique_ptr<draco::Metadata, std::__1::default_delete<draco::Metadata> >) [function] [call site] 00100
7 bool draco::DecodeVarint<unsigned int>(unsigned int*, draco::DecoderBuffer*) [function] [call site] 00101
7 draco::MetadataDecoder::DecodeEntry(draco::Metadata*) [function] [call site] 00102
8 draco::MetadataDecoder::DecodeName(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) [function] [call site] 00103
8 bool draco::DecodeVarint<unsigned int>(unsigned int*, draco::DecoderBuffer*) [function] [call site] 00104
8 draco::DecoderBuffer::remaining_size() const [function] [call site] 00105
8 draco::DecoderBuffer::Decode(void*, unsigned long) [function] [call site] 00106
8 draco::Metadata::AddEntryBinary(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&) [function] [call site] 00107
9 void draco::Metadata::AddEntry<std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&) [function] [call site] 00108
10 draco::EntryValue::EntryValue<unsigned char>(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&) [function] [call site] 00109
10 draco::EntryValue::~EntryValue() [function] [call site] 00110
7 bool draco::DecodeVarint<unsigned int>(unsigned int*, draco::DecoderBuffer*) [function] [call site] 00111
7 draco::DecoderBuffer::remaining_size() const [function] [call site] 00112
6 draco::GeometryMetadata::AddAttributeMetadata(std::__1::unique_ptr<draco::AttributeMetadata, std::__1::default_delete<draco::AttributeMetadata> >) [function] [call site] 00113
6 draco::MetadataDecoder::DecodeMetadata(draco::Metadata*) [function] [call site] 00114
5 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00115
5 draco::PointCloud::AddMetadata(std::__1::unique_ptr<draco::GeometryMetadata, std::__1::default_delete<draco::GeometryMetadata> >) [function] [call site] 00116
5 draco::OkStatus() [function] [call site] 00117
4 draco::Status::ok() const [function] [call site] 00118
4 draco::Status::~Status() [function] [call site] 00119
4 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00120
4 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00121
4 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00122
4 draco::OkStatus() [function] [call site] 00123
3 draco::Status::ok() const [function] [call site] 00124
3 draco::Status::~Status() [function] [call site] 00125
3 draco::OkStatus() [function] [call site] 00126
3 draco::StatusOr<std::__1::unique_ptr<draco::PointCloudDecoder, std::__1::default_delete<draco::PointCloudDecoder> > >::~StatusOr() [function] [call site] 00127
4 draco::Status::~Status() [function] [call site] 00128
3 draco::DecoderBuffer::~DecoderBuffer() [function] [call site] 00129
2 draco::StatusOr<std::__1::unique_ptr<draco::PointCloud, std::__1::default_delete<draco::PointCloud> > >::StatusOr(draco::Status const&) [function] [call site] 00130
2 draco::StatusOr<std::__1::unique_ptr<draco::PointCloud, std::__1::default_delete<draco::PointCloud> > >::StatusOr(std::__1::unique_ptr<draco::PointCloud, std::__1::default_delete<draco::PointCloud> >&&) [function] [call site] 00131
2 draco::Mesh::Mesh() [function] [call site] 00132
3 draco::PointCloud::PointCloud() [function] [call site] 00133
3 draco::IndexTypeVector<draco::IndexType<unsigned int, draco::FaceIndex_tag_type_>, std::__1::array<draco::IndexType<unsigned int, draco::PointIndex_tag_type_>, 3ul> >::IndexTypeVector() [function] [call site] 00134
2 draco::Decoder::DecodeBufferToGeometry(draco::DecoderBuffer*, draco::Mesh*) [function] [call site] 00135
3 draco::PointCloudDecoder::DecodeHeader(draco::DecoderBuffer*, draco::DracoHeader*) [function] [call site] 00136
3 draco::Status::ok() const [function] [call site] 00137
3 draco::Status::~Status() [function] [call site] 00138
3 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00139
3 draco::CreateMeshDecoder(unsigned char) [function] [call site] 00140
4 draco::MeshSequentialDecoder::MeshSequentialDecoder() [function] [call site] 00141
5 draco::MeshDecoder::MeshDecoder() [function] [call site] 00142
6 draco::PointCloudDecoder::PointCloudDecoder() [function] [call site] 00143
4 draco::StatusOr<std::__1::unique_ptr<draco::MeshDecoder, std::__1::default_delete<draco::MeshDecoder> > >::StatusOr(std::__1::unique_ptr<draco::MeshDecoder, std::__1::default_delete<draco::MeshDecoder> >&&) [function] [call site] 00144
4 draco::MeshEdgebreakerDecoder::MeshEdgebreakerDecoder() [function] [call site] 00145
5 draco::MeshDecoder::MeshDecoder() [function] [call site] 00146
4 draco::StatusOr<std::__1::unique_ptr<draco::MeshDecoder, std::__1::default_delete<draco::MeshDecoder> > >::StatusOr(std::__1::unique_ptr<draco::MeshDecoder, std::__1::default_delete<draco::MeshDecoder> >&&) [function] [call site] 00147
4 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00148
4 draco::StatusOr<std::__1::unique_ptr<draco::MeshDecoder, std::__1::default_delete<draco::MeshDecoder> > >::StatusOr(draco::Status const&) [function] [call site] 00149
4 draco::Status::~Status() [function] [call site] 00150
3 draco::StatusOr<std::__1::unique_ptr<draco::MeshDecoder, std::__1::default_delete<draco::MeshDecoder> > >::ok() const [function] [call site] 00151
3 draco::StatusOr<std::__1::unique_ptr<draco::MeshDecoder, std::__1::default_delete<draco::MeshDecoder> > >::status() const [function] [call site] 00152
3 draco::Status::Status(draco::Status const&) [function] [call site] 00153
3 draco::StatusOr<std::__1::unique_ptr<draco::MeshDecoder, std::__1::default_delete<draco::MeshDecoder> > >::value() && [function] [call site] 00154
3 draco::MeshDecoder::Decode(draco::DracoOptions<draco::GeometryAttribute::Type> const&, draco::DecoderBuffer*, draco::Mesh*) [function] [call site] 00155
4 draco::PointCloudDecoder::Decode(draco::DracoOptions<draco::GeometryAttribute::Type> const&, draco::DecoderBuffer*, draco::PointCloud*) [function] [call site] 00156
3 draco::Status::ok() const [function] [call site] 00157
3 draco::Status::~Status() [function] [call site] 00158
3 draco::StatusOr<std::__1::unique_ptr<draco::MeshDecoder, std::__1::default_delete<draco::MeshDecoder> > >::~StatusOr() [function] [call site] 00159
3 draco::DecoderBuffer::~DecoderBuffer() [function] [call site] 00160
2 draco::Status::ok() const [function] [call site] 00161
2 draco::StatusOr<std::__1::unique_ptr<draco::PointCloud, std::__1::default_delete<draco::PointCloud> > >::StatusOr(draco::Status const&) [function] [call site] 00162
2 draco::Status::~Status() [function] [call site] 00163
2 draco::StatusOr<std::__1::unique_ptr<draco::PointCloud, std::__1::default_delete<draco::PointCloud> > >::StatusOr(std::__1::unique_ptr<draco::PointCloud, std::__1::default_delete<draco::PointCloud> >&&) [function] [call site] 00164
2 draco::Status::Status(draco::Status::Code, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00165
2 draco::StatusOr<std::__1::unique_ptr<draco::PointCloud, std::__1::default_delete<draco::PointCloud> > >::StatusOr(draco::Status const&) [function] [call site] 00166
2 draco::Status::~Status() [function] [call site] 00167
2 draco::StatusOr<draco::EncodedGeometryType>::~StatusOr() [function] [call site] 00168
1 draco::StatusOr<std::__1::unique_ptr<draco::PointCloud, std::__1::default_delete<draco::PointCloud> > >::~StatusOr() [function] [call site] 00169
1 draco::Decoder::~Decoder() [function] [call site] 00170
2 draco::DracoOptions<draco::GeometryAttribute::Type>::~DracoOptions() [function] [call site] 00171
3 draco::Options::~Options() [function] [call site] 00172
1 draco::DecoderBuffer::~DecoderBuffer() [function] [call site] 00173