commit | 8702c940aebdcc85cbc86bc6c40b0b5bf9fa23b4 | [log] [tgz] |
---|---|---|
author | Xin Li <[email protected]> | Fri Jun 18 12:24:40 2021 -0700 |
committer | Xin Li <[email protected]> | Fri Jun 18 12:24:40 2021 -0700 |
tree | fcc4a2fd8267720c28b72058548f38531e47322d | |
parent | 41089866e73f589f41839c54179b41b4f3920744 [diff] | |
parent | 30f551e41a5051283bae9b18e9de18c69504b888 [diff] |
DO NOT MERGE - Merge RQ3A.210605.005 Bug: 190855093 Merged-In: I6ffb482293619605092bde094d57dc5c876b91f7 Change-Id: Ia510a7076042c7733d06f8d3b8a9409a09c32c35
diff --git a/src/google/protobuf/util/internal/protostream_objectsource.cc b/src/google/protobuf/util/internal/protostream_objectsource.cc index 252184d..f632064 100644 --- a/src/google/protobuf/util/internal/protostream_objectsource.cc +++ b/src/google/protobuf/util/internal/protostream_objectsource.cc
@@ -539,6 +539,11 @@ ow->StartObject(field_name); while (tag != 0) { field = os->FindAndVerifyField(type, tag); + if (field == nullptr) { + WireFormat::SkipField(os->stream_, tag, nullptr); + tag = os->stream_->ReadTag(); + continue; + } // google.protobuf.Struct has only one field that is a map. Hence we use // RenderMap to render that field. if (os->IsMap(*field)) {