Fuzz introspector: 64bit_fuzzer
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
0 0 None 0 0 boolflatbuffers::Verifier::VerifyVectorOfTables (flatbuffers::Vector ,unsignedint>const*) call site: 00000 /src/flatbuffers/tests/fuzzer/../../include/flatbuffers/verifier.h:172
0 0 3 :

['std::__1::basic_string , std::__1::allocator >::operator=(std::__1::basic_string , std::__1::allocator >&&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'std::__1::basic_string , std::__1::allocator >::basic_string (char const*)']

0 0 flatbuffers::ReadEnvironmentVariable(charconst*,std::__1::basic_string ,std::__1::allocator >*) call site: 00000 /src/flatbuffers/src/util.cpp:434

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 flatbuffers::Verifier::Options::Options() [function] [call site] 00001
1 flatbuffers::Verifier::Verifier(unsigned char const*, unsigned long, flatbuffers::Verifier::Options const&) [function] [call site] 00002
1 VerifySizePrefixedRootTableBuffer(flatbuffers::Verifier&) [function] [call site] 00003
2 bool flatbuffers::Verifier::VerifySizePrefixedBuffer (char const*) [function] [call site] 00004
3 bool flatbuffers::Verifier::Verify (unsigned long) const [function] [call site] 00005
4 flatbuffers::Verifier::VerifyAlignment(unsigned long, unsigned long) const [function] [call site] 00006
5 flatbuffers::Verifier::Check(bool) const [function] [call site] 00007
3 unsigned long flatbuffers::ReadScalar (void const*) [function] [call site] 00008
4 unsigned long flatbuffers::EndianScalar (unsigned long) [function] [call site] 00009
3 flatbuffers::Verifier::Check(bool) const [function] [call site] 00010
3 bool flatbuffers::Verifier::VerifyBufferFromStart (char const*, unsigned long) [function] [call site] 00011
4 flatbuffers::Verifier::Check(bool) const [function] [call site] 00012
4 flatbuffers::BufferHasIdentifier(void const*, char const*, bool) [function] [call site] 00013
5 flatbuffers::GetBufferIdentifier(void const*, bool) [function] [call site] 00014
5 strncmp [call site] 00015
4 flatbuffers::Verifier::Check(bool) const [function] [call site] 00016
4 unsigned long flatbuffers::Verifier::VerifyOffset (unsigned long) const [function] [call site] 00017
5 bool flatbuffers::Verifier::Verify (unsigned long) const [function] [call site] 00018
5 unsigned int flatbuffers::ReadScalar (void const*) [function] [call site] 00019
5 flatbuffers::Verifier::Check(bool) const [function] [call site] 00020
5 flatbuffers::Verifier::Check(bool) const [function] [call site] 00021
5 flatbuffers::Verifier::Verify(unsigned long, unsigned long) const [function] [call site] 00022
6 flatbuffers::Verifier::Check(bool) const [function] [call site] 00023
4 flatbuffers::Verifier::Check(bool) const [function] [call site] 00024
4 RootTable::Verify(flatbuffers::Verifier&) const [function] [call site] 00025
5 flatbuffers::Table::VerifyTableStart(flatbuffers::Verifier&) const [function] [call site] 00026
6 flatbuffers::Verifier::VerifyTableStart(unsigned char const*) [function] [call site] 00027
7 bool flatbuffers::Verifier::Verify (unsigned long) const [function] [call site] 00028
7 int flatbuffers::ReadScalar (void const*) [function] [call site] 00029
7 flatbuffers::Verifier::VerifyComplexity() [function] [call site] 00030
8 flatbuffers::Verifier::Check(bool) const [function] [call site] 00031
7 unsigned short flatbuffers::ReadScalar (void const*) [function] [call site] 00032
7 flatbuffers::Verifier::VerifyAlignment(unsigned long, unsigned long) const [function] [call site] 00033
7 unsigned short flatbuffers::ReadScalar (void const*) [function] [call site] 00034
7 flatbuffers::Verifier::Check(bool) const [function] [call site] 00035
5 flatbuffers::Table::VerifyOffset64(flatbuffers::Verifier const&, unsigned short) const [function] [call site] 00036
6 bool flatbuffers::Table::VerifyOffset (flatbuffers::Verifier const&, unsigned short) const [function] [call site] 00037
7 flatbuffers::Table::GetOptionalFieldOffset(unsigned short) const [function] [call site] 00038
8 flatbuffers::Table::GetVTable() const [function] [call site] 00039
9 int flatbuffers::ReadScalar (void const*) [function] [call site] 00040
8 unsigned short flatbuffers::ReadScalar (void const*) [function] [call site] 00041
8 unsigned short flatbuffers::ReadScalar (void const*) [function] [call site] 00042
7 unsigned long flatbuffers::Verifier::VerifyOffset (unsigned char const*, unsigned short) const [function] [call site] 00043
8 unsigned long flatbuffers::Verifier::VerifyOffset (unsigned long) const [function] [call site] 00044
9 unsigned long flatbuffers::Verifier::VerifyOffset (unsigned long) const [function] [call site] 00045
5 RootTable::far_vector() const [function] [call site] 00046
6 flatbuffers::Vector const* flatbuffers::Table::GetPointer64 const*>(unsigned short) const [function] [call site] 00047
7 flatbuffers::Vector const* flatbuffers::Table::GetPointer const*, unsigned long>(unsigned short) const [function] [call site] 00048
8 flatbuffers::Vector const* flatbuffers::Table::GetPointer const*, unsigned long>(unsigned short) [function] [call site] 00049
9 flatbuffers::Table::GetOptionalFieldOffset(unsigned short) const [function] [call site] 00050
9 unsigned long flatbuffers::ReadScalar (void const*) [function] [call site] 00051
5 bool flatbuffers::Verifier::VerifyVector<, unsigned char, unsigned int>(flatbuffers::Vector const*) const [function] [call site] 00052
6 bool flatbuffers::Verifier::VerifyVectorOrString (unsigned char const*, unsigned long, unsigned long*) const [function] [call site] 00053
7 unsigned int flatbuffers::ReadScalar (void const*) [function] [call site] 00054
7 flatbuffers::Verifier::Check(bool) const [function] [call site] 00055
7 flatbuffers::Verifier::Verify(unsigned long, unsigned long) const [function] [call site] 00056
5 bool flatbuffers::Table::VerifyField (flatbuffers::Verifier const&, unsigned short, unsigned long) const [function] [call site] 00057
6 flatbuffers::Table::GetOptionalFieldOffset(unsigned short) const [function] [call site] 00058
6 bool flatbuffers::Verifier::VerifyField (unsigned char const*, unsigned short, unsigned long) const [function] [call site] 00059
7 flatbuffers::Verifier::VerifyAlignment(unsigned long, unsigned long) const [function] [call site] 00060
5 flatbuffers::Table::VerifyOffset64(flatbuffers::Verifier const&, unsigned short) const [function] [call site] 00061
5 RootTable::far_string() const [function] [call site] 00062
6 flatbuffers::String const* flatbuffers::Table::GetPointer64 (unsigned short) const [function] [call site] 00063
5 flatbuffers::Verifier::VerifyString(flatbuffers::String const*) const [function] [call site] 00064
6 bool flatbuffers::Verifier::VerifyVectorOrString (unsigned char const*, unsigned long, unsigned long*) const [function] [call site] 00065
6 flatbuffers::Verifier::Verify(unsigned long, unsigned long) const [function] [call site] 00066
6 flatbuffers::Verifier::Check(bool) const [function] [call site] 00067
5 flatbuffers::Table::VerifyOffset64(flatbuffers::Verifier const&, unsigned short) const [function] [call site] 00068
5 RootTable::big_vector() const [function] [call site] 00069
6 flatbuffers::Vector const* flatbuffers::Table::GetPointer64 const*>(unsigned short) const [function] [call site] 00070
5 bool flatbuffers::Verifier::VerifyVector<, unsigned char, unsigned long>(flatbuffers::Vector const*) const [function] [call site] 00071
5 bool flatbuffers::Table::VerifyOffset (flatbuffers::Verifier const&, unsigned short) const [function] [call site] 00072
5 RootTable::near_string() const [function] [call site] 00073
6 flatbuffers::String const* flatbuffers::Table::GetPointer (unsigned short) const [function] [call site] 00074
5 flatbuffers::Table::VerifyOffset64(flatbuffers::Verifier const&, unsigned short) const [function] [call site] 00075
5 RootTable::nested_root() const [function] [call site] 00076
6 flatbuffers::Vector const* flatbuffers::Table::GetPointer64 const*>(unsigned short) const [function] [call site] 00077
5 bool flatbuffers::Verifier::VerifyVector<, unsigned char, unsigned long>(flatbuffers::Vector const*) const [function] [call site] 00078
5 RootTable::nested_root() const [function] [call site] 00079
5 bool flatbuffers::Verifier::VerifyNestedFlatBuffer (flatbuffers::Vector const*, char const*) [function] [call site] 00080
6 flatbuffers::Vector ::size() const [function] [call site] 00081
7 unsigned long flatbuffers::EndianScalar (unsigned long) [function] [call site] 00082
6 flatbuffers::Verifier::Check(bool) const [function] [call site] 00083
6 flatbuffers::Vector ::data() const [function] [call site] 00084
7 flatbuffers::Vector ::Data() const [function] [call site] 00085
6 flatbuffers::Verifier::Verifier(unsigned char const*, unsigned long, flatbuffers::Verifier::Options const&) [function] [call site] 00086
6 bool flatbuffers::Verifier::VerifyBuffer (char const*) [function] [call site] 00087
7 bool flatbuffers::Verifier::VerifyBufferFromStart (char const*, unsigned long) [function] [call site] 00088
5 flatbuffers::Table::VerifyOffset64(flatbuffers::Verifier const&, unsigned short) const [function] [call site] 00089
5 RootTable::far_struct_vector() const [function] [call site] 00090
6 flatbuffers::Vector const* flatbuffers::Table::GetPointer64 const*>(unsigned short) const [function] [call site] 00091
5 bool flatbuffers::Verifier::VerifyVector<, LeafStruct, unsigned int>(flatbuffers::Vector const*) const [function] [call site] 00092
6 bool flatbuffers::Verifier::VerifyVector<, LeafStruct, unsigned int>(flatbuffers::Vector const*) const [function] [call site] 00093
5 flatbuffers::Table::VerifyOffset64(flatbuffers::Verifier const&, unsigned short) const [function] [call site] 00094
5 RootTable::big_struct_vector() const [function] [call site] 00095
6 flatbuffers::Vector const* flatbuffers::Table::GetPointer64 const*>(unsigned short) const [function] [call site] 00096
5 bool flatbuffers::Verifier::VerifyVector<, LeafStruct, unsigned long>(flatbuffers::Vector const*) const [function] [call site] 00097
5 bool flatbuffers::Table::VerifyOffset (flatbuffers::Verifier const&, unsigned short) const [function] [call site] 00098
5 RootTable::many_vectors() const [function] [call site] 00099
6 flatbuffers::Vector , unsigned int> const* flatbuffers::Table::GetPointer , unsigned int> const*, unsigned int>(unsigned short) const [function] [call site] 00100
5 RootTable::many_vectors() const [function] [call site] 00101
5 bool flatbuffers::Verifier::VerifyVectorOfTables (flatbuffers::Vector , unsigned int> const*) [function] [call site] 00102
6 flatbuffers::Vector , unsigned int>::size() const [function] [call site] 00103
6 flatbuffers::Vector , unsigned int>::Get(unsigned int) const [function] [call site] 00104
7 flatbuffers::Vector , unsigned int>::size() const [function] [call site] 00105
7 flatbuffers::Vector , unsigned int>::Data() const [function] [call site] 00106
7 flatbuffers::IndirectHelper >::Read(unsigned char const*, unsigned int) [function] [call site] 00107
8 unsigned int flatbuffers::ReadScalar (void const*) [function] [call site] 00108
6 WrapperTable::Verify(flatbuffers::Verifier&) const [function] [call site] 00109
7 flatbuffers::Table::VerifyTableStart(flatbuffers::Verifier&) const [function] [call site] 00110
7 flatbuffers::Table::VerifyOffset64(flatbuffers::Verifier const&, unsigned short) const [function] [call site] 00111
7 WrapperTable::vector() const [function] [call site] 00112
8 flatbuffers::Vector const* flatbuffers::Table::GetPointer64 const*>(unsigned short) const [function] [call site] 00113
7 bool flatbuffers::Verifier::VerifyVector<, signed char, unsigned int>(flatbuffers::Vector const*) const [function] [call site] 00114
7 flatbuffers::Verifier::EndTable() [function] [call site] 00115
5 flatbuffers::Table::VerifyOffset64(flatbuffers::Verifier const&, unsigned short) const [function] [call site] 00116
5 RootTable::forced_aligned_vector() const [function] [call site] 00117
6 flatbuffers::Vector const* flatbuffers::Table::GetPointer64 const*>(unsigned short) const [function] [call site] 00118
5 bool flatbuffers::Verifier::VerifyVector<, unsigned char, unsigned long>(flatbuffers::Vector const*) const [function] [call site] 00119
5 flatbuffers::Verifier::EndTable() [function] [call site] 00120
1 flatbuffers::AccessBuffer(unsigned char const*, unsigned long, bool) [function] [call site] 00121
2 GetSizePrefixedRootTable(void const*) [function] [call site] 00122
3 RootTable const* flatbuffers::GetSizePrefixedRoot (void const*) [function] [call site] 00123
4 RootTable const* flatbuffers::GetRoot (void const*) [function] [call site] 00124
5 RootTable* flatbuffers::GetMutableRoot (void*) [function] [call site] 00125
6 unsigned int flatbuffers::EndianScalar (unsigned int) [function] [call site] 00126
2 void TestEq (bool, bool, char const*, char const*, int, char const*) [function] [call site] 00127
3 _Z20scalar_as_underlyingIbEN20underlying_of_scalarIT_Xsr11flatbuffers7is_enumIS1_EE5valueEE4typeES1_ [function] [call site] 00128
3 std::__1::basic_string , std::__1::allocator > flatbuffers::NumToString (bool) [function] [call site] 00129
3 _Z20scalar_as_underlyingIbEN20underlying_of_scalarIT_Xsr11flatbuffers7is_enumIS1_EE5valueEE4typeES1_ [function] [call site] 00130
3 std::__1::basic_string , std::__1::allocator > flatbuffers::NumToString (bool) [function] [call site] 00131
3 TestFail(char const*, char const*, char const*, char const*, int, char const*) [function] [call site] 00132
4 printf [call site] 00133
4 bool IsConstTrue (bool) [function] [call site] 00134
4 printf [call site] 00135
4 bool IsConstTrue (bool) [function] [call site] 00136
4 printf [call site] 00137
4 bool IsConstTrue (bool) [function] [call site] 00138
4 __assert_fail [call site] 00139
2 flatbuffers::Hash(RootTable const*, unsigned long) [function] [call site] 00140
3 RootTable::far_vector() const [function] [call site] 00141
3 unsigned long flatbuffers::Hash (flatbuffers::Vector const*, unsigned long) [function] [call site] 00142
4 flatbuffers::Vector ::begin() const [function] [call site] 00143
5 flatbuffers::Vector ::Data() const [function] [call site] 00144
4 unsigned long flatbuffers::Hash (unsigned char, unsigned long) [function] [call site] 00145
3 RootTable::a() const [function] [call site] 00146
4 int flatbuffers::Table::GetField (unsigned short, int) const [function] [call site] 00147
5 flatbuffers::Table::GetOptionalFieldOffset(unsigned short) const [function] [call site] 00148
5 int flatbuffers::ReadScalar (void const*) [function] [call site] 00149
3 unsigned long flatbuffers::Hash (int, unsigned long) [function] [call site] 00150
3 RootTable::far_string() const [function] [call site] 00151
3 flatbuffers::Hash(flatbuffers::String const*, unsigned long) [function] [call site] 00152
4 flatbuffers::String::str() const [function] [call site] 00153
5 flatbuffers::String::c_str() const [function] [call site] 00154
6 flatbuffers::Vector ::Data() const [function] [call site] 00155
5 flatbuffers::Vector ::size() const [function] [call site] 00156
4 unsigned long flatbuffers::Hash (unsigned char, unsigned long) [function] [call site] 00157
3 RootTable::big_vector() const [function] [call site] 00158
3 unsigned long flatbuffers::Hash (flatbuffers::Vector const*, unsigned long) [function] [call site] 00159
4 flatbuffers::Vector ::begin() const [function] [call site] 00160
4 unsigned long flatbuffers::Hash (unsigned char, unsigned long) [function] [call site] 00161
3 RootTable::near_string() const [function] [call site] 00162
3 flatbuffers::Hash(flatbuffers::String const*, unsigned long) [function] [call site] 00163
3 RootTable::nested_root() const [function] [call site] 00164
3 unsigned long flatbuffers::Hash (flatbuffers::Vector const*, unsigned long) [function] [call site] 00165
3 RootTable::far_struct_vector() const [function] [call site] 00166
3 unsigned long flatbuffers::Hash (flatbuffers::Vector const*, unsigned long) [function] [call site] 00167
3 RootTable::big_struct_vector() const [function] [call site] 00168
3 unsigned long flatbuffers::Hash (flatbuffers::Vector const*, unsigned long) [function] [call site] 00169
2 RootTable::nested_root_nested_root() const [function] [call site] 00170
3 RootTable::nested_root() const [function] [call site] 00171
3 flatbuffers::Vector ::Data() const [function] [call site] 00172
3 RootTable const* flatbuffers::GetRoot (void const*) [function] [call site] 00173
2 flatbuffers::Hash(RootTable const*, unsigned long) [function] [call site] 00174