summaryrefslogtreecommitdiff
path: root/libs/protoutil
diff options
context:
space:
mode:
authorYi Jin <jinyithu@google.com>2018-02-02 14:33:20 -0800
committerYi Jin <jinyithu@google.com>2018-02-02 14:33:20 -0800
commit295d9b1d43d47a0fec65001fe74c225bb60a957a (patch)
tree1ae27384bf34fc9e7c8eea0f949c8f0bf7b7f447 /libs/protoutil
parent7902b4a1b222cac1f60125de93a1ab30a0b7523f (diff)
Fix the tag size in token of ProtoOutputStream.cpp, the java version has
the correct tag size computed. Bug: 72755317 Test: incident -p A 3005 | aprotoc --decode_raw Change-Id: I0275dbecb566101b562b649c2ae3d58fbfb9188b
Diffstat (limited to 'libs/protoutil')
-rw-r--r--libs/protoutil/src/ProtoOutputStream.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/protoutil/src/ProtoOutputStream.cpp b/libs/protoutil/src/ProtoOutputStream.cpp
index 1904d40ea67a..f24abaed2dce 100644
--- a/libs/protoutil/src/ProtoOutputStream.cpp
+++ b/libs/protoutil/src/ProtoOutputStream.cpp
@@ -249,15 +249,15 @@ ProtoOutputStream::start(uint64_t fieldId)
}
uint32_t id = (uint32_t)fieldId;
+ size_t prevPos = mBuffer.wp()->pos();
mBuffer.writeHeader(id, WIRE_TYPE_LENGTH_DELIMITED);
-
size_t sizePos = mBuffer.wp()->pos();
mDepth++;
mObjectId++;
mBuffer.writeRawFixed64(mExpectedObjectToken); // push previous token into stack.
- mExpectedObjectToken = makeToken(get_varint_size(id),
+ mExpectedObjectToken = makeToken(sizePos - prevPos,
(bool)(fieldId & FIELD_COUNT_REPEATED), mDepth, mObjectId, sizePos);
return mExpectedObjectToken;
}