From c17cf022ea323e4684dcc6f0b324e2769b7727c8 Mon Sep 17 00:00:00 2001 From: Wouter van Oortmerssen Date: Fri, 22 Apr 2016 11:31:35 -0700 Subject: [PATCH] Fixed a verifier check that didn't return from its parent. Change-Id: I1aef5fdba72de0c3bb8276c9f50fffa494f26e29 Tested: on Linux. --- include/flatbuffers/flatbuffers.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/flatbuffers/flatbuffers.h b/include/flatbuffers/flatbuffers.h index a33092f3d..c78583cad 100644 --- a/include/flatbuffers/flatbuffers.h +++ b/include/flatbuffers/flatbuffers.h @@ -1222,7 +1222,8 @@ class Verifier FLATBUFFERS_FINAL_CLASS { // must be 0. auto size = ReadScalar(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);