From: Zach Johnson Date: Tue, 2 Feb 2021 02:34:47 +0000 (-0800) Subject: rusty-gd: don't put payloads, the size has already been allocated X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=1b61017687654f916ac956e20eec3b404ceaf5f2;p=android-x86%2Fsystem-bt.git rusty-gd: don't put payloads, the size has already been allocated Bug: 171749953 Tag: #gd-refactor Test: gd/cert/run --rhost Change-Id: Ie360848be3abef6b40573d04a2539eadd0d824d2 --- diff --git a/gd/packet/parser/packet_def.cc b/gd/packet/parser/packet_def.cc index 97ce7ba2a..32b7be6d4 100644 --- a/gd/packet/parser/packet_def.cc +++ b/gd/packet/parser/packet_def.cc @@ -995,7 +995,8 @@ void PacketDef::GenRustStructImpls(std::ostream& s) const { s << name_ << "DataChild::" << child->name_ << "(value) => value.write_to(buffer),"; } if (fields_.HasPayload()) { - s << name_ << "DataChild::Payload(p) => buffer.put(&p[..]),"; + auto offset = GetOffsetForField("payload"); + s << name_ << "DataChild::Payload(p) => buffer[" << offset.bytes() << "..].copy_from_slice(&p[..]),"; } s << name_ << "DataChild::None => {}"; s << "}";