diff options
author | Nicholas Seckar <seckar@google.com> | 2013-09-24 20:52:54 -0700 |
---|---|---|
committer | Ulas Kirazci <ulas@google.com> | 2013-10-04 10:52:08 -0700 |
commit | 37ac79028de3d1cd8c215ba54fdf31e4eeca4b2c (patch) | |
tree | 32848bf011dd0b095e8f3403366faf83387f1b4a /src | |
parent | 44dc2f1eaead8d95d3f5a4f80f9da87852053bfb (diff) | |
download | external_protobuf-37ac79028de3d1cd8c215ba54fdf31e4eeca4b2c.zip external_protobuf-37ac79028de3d1cd8c215ba54fdf31e4eeca4b2c.tar.gz external_protobuf-37ac79028de3d1cd8c215ba54fdf31e4eeca4b2c.tar.bz2 |
Fix roundtrip failure with groups when unknown fields are enabled.
When parsing a group, the group's end tag should not be stored within the
message's unknownFieldData. Not only does this waste space, it is also output
the next time the group is serialized, resulting in two end tags for that group.
The resulting bytes are not always a valid protocol buffer and may fail to
parse.
This change ensures that group end tags do not result in an unknownFieldData
entry, and that messages with groups can be roundtripped without corruption.
Change-Id: I240f858a7217a7652b756598c34aacad5dcc3363
Conflicts:
java/src/test/java/com/google/protobuf/NanoTest.java
Diffstat (limited to 'src')
-rw-r--r-- | src/google/protobuf/unittest_extension_nano.proto | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/google/protobuf/unittest_extension_nano.proto b/src/google/protobuf/unittest_extension_nano.proto index f2906f0..104cfa7 100644 --- a/src/google/protobuf/unittest_extension_nano.proto +++ b/src/google/protobuf/unittest_extension_nano.proto @@ -42,3 +42,9 @@ message ContainerMessage { optional bool another_thing = 100; } } + +message MessageWithGroup { + optional group Group = 1 { + optional int32 a = 2; + } +} |