diff options
author | Colin Cross <ccross@android.com> | 2021-03-23 20:08:00 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-03-23 20:08:00 +0000 |
commit | 139b7106411f15b8101ab7a3f66529ffca78c597 (patch) | |
tree | a3a2210882595e0523680aaa525ba303430cec48 | |
parent | 018e8809159cb3aa999f03a3b2418b65f0fbd458 (diff) | |
parent | b866b6d10ac195e863e30c5bccfe3b4426435ca4 (diff) | |
download | protobuf-temp_ab_7272582.tar.gz |
Backport null pointer check from upstream am: b866b6d10atemp_ab_7272582
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/protobuf/+/13544642
Change-Id: I0da0ae91590a12ca16156b439ab737d55189a593
-rw-r--r-- | src/google/protobuf/util/internal/protostream_objectsource.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/google/protobuf/util/internal/protostream_objectsource.cc b/src/google/protobuf/util/internal/protostream_objectsource.cc index 252184df0..f632064cc 100644 --- a/src/google/protobuf/util/internal/protostream_objectsource.cc +++ b/src/google/protobuf/util/internal/protostream_objectsource.cc @@ -539,6 +539,11 @@ Status ProtoStreamObjectSource::RenderStruct(const ProtoStreamObjectSource* os, 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)) { |