aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNicholas Seckar <seckar@google.com>2013-09-24 20:52:54 -0700
committerUlas Kirazci <ulas@google.com>2013-10-04 10:52:08 -0700
commitb3c24e0ed285b9457560040fe49cb4f9616e721b (patch)
tree1bca00fbae2863ef4ddcca2c08585ebd259b598b /src
parent4b7983cb71bda102b5b5d3aa2fb6767d0df4f6d4 (diff)
downloadprotobuf-b3c24e0ed285b9457560040fe49cb4f9616e721b.tar.gz
protobuf-b3c24e0ed285b9457560040fe49cb4f9616e721b.tar.bz2
protobuf-b3c24e0ed285b9457560040fe49cb4f9616e721b.zip
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.proto6
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 f2906f00..104cfa74 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;
+ }
+}