diff --git a/library/RemoteClient.cpp b/library/RemoteClient.cpp index a66421aa0..a1ac2ec92 100644 --- a/library/RemoteClient.cpp +++ b/library/RemoteClient.cpp @@ -335,8 +335,9 @@ bool sendRemoteMessage(CSimpleSocket *socket, int16_t id, const MessageLite *msg hdr->id = id; hdr->size = size; - if (!msg->SerializeToArray(data.get() + sizeof(RPCMessageHeader), size)) - return false; + uint8_t *pstart = data.get() + sizeof(RPCMessageHeader); + uint8_t *pend = msg->SerializeWithCachedSizesToArray(pstart); + assert((pend - pstart) == size); return (socket->Send(data.get(), fullsz) == fullsz); }