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);