Vector of structs were not being verified correctly.

Because they are represented as `const T *` in the Vector template,
the sizeof(const T *) was accidentally used instead of sizeof(T).

Change-Id: Ib4dc73e1d21396ba2e30c84e5e229c4147204bb1
Tested: on Linux.
This commit is contained in:
Wouter van Oortmerssen
2015-10-19 14:06:46 -07:00
parent 525130765a
commit 9c9fce96c7

View File

@@ -919,6 +919,11 @@ class Verifier FLATBUFFERS_FINAL_CLASS {
&end);
}
// Verify a pointer (may be NULL) of a vector to struct.
template<typename T> bool Verify(const Vector<const T *> *vec) const {
return Verify(reinterpret_cast<const Vector<T> *>(vec));
}
// Verify a pointer (may be NULL) to string.
bool Verify(const String *str) const {
const uint8_t *end;