From 1b61017687654f916ac956e20eec3b404ceaf5f2 Mon Sep 17 00:00:00 2001 From: Zach Johnson Date: Mon, 1 Feb 2021 18:34:47 -0800 Subject: [PATCH] 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 --- gd/packet/parser/packet_def.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 << "}"; -- 2.11.0