Fixed a verifier check that didn't return from its parent.

Change-Id: I1aef5fdba72de0c3bb8276c9f50fffa494f26e29
Tested: on Linux.
This commit is contained in:
Wouter van Oortmerssen
2016-04-22 11:31:35 -07:00
parent f6330ab8f1
commit c17cf022ea

View File

@@ -1222,7 +1222,8 @@ class Verifier FLATBUFFERS_FINAL_CLASS {
// must be 0.
auto size = ReadScalar<uoffset_t>(vec);
auto max_elems = FLATBUFFERS_MAX_BUFFER_SIZE / elem_size;
Check(size < max_elems); // Protect against byte_size overflowing.
if (!Check(size < max_elems))
return false; // Protect against byte_size overflowing.
auto byte_size = sizeof(size) + elem_size * size;
*end = vec + byte_size;
return Verify(vec, byte_size);