Setting a field twice in a JSON object now gives error.

Before, it would crash in FlatBufferBuilder.

Bug: 17357164
Change-Id: I6e6dbada5261745220345379eb53eb3eb113e8f8
Tested: on Linux.
This commit is contained in:
Wouter van Oortmerssen
2014-09-03 14:48:37 -07:00
parent 15dc1a86cd
commit 57b614587c
2 changed files with 5 additions and 0 deletions

View File

@@ -457,6 +457,10 @@ uoffset_t Parser::ParseTable(const StructDef &struct_def) {
|| struct_def.fields.vec[fieldn] != field)) {
Error("struct field appearing out of order: " + name);
}
for (auto it = field_stack_.rbegin();
it != field_stack_.rbegin() + fieldn; ++it) {
if (it->second == field) Error("field already set: " + name);
}
Expect(':');
Value val = field->value;
ParseAnyValue(val, field);