add verification that type_vec.size == vec.size() (#8853)
Co-authored-by: Wouter van Oortmerssen <aardappel@gmail.com>
diff --git a/src/reflection.cpp b/src/reflection.cpp
index 4b2f66d..51e07ea 100644
--- a/src/reflection.cpp
+++ b/src/reflection.cpp
@@ -156,6 +156,7 @@
auto type_vec = table.GetPointer<Vector<uint8_t>*>(vec_field.offset() -
sizeof(voffset_t));
if (!v.VerifyVector(type_vec)) return false;
+ if (type_vec->size() != vec->size()) return false;
for (uoffset_t j = 0; j < vec->size(); j++) {
// get union type from the prev field
auto utype = type_vec->Get(j);