diff --git a/common/message.c b/common/message.c index 94474253be..6828273e78 100644 --- a/common/message.c +++ b/common/message.c @@ -69,7 +69,7 @@ int message_process_cmd(int cmd, uint8_t *out_msg, int max_len) */ if (msg_len + MSG_PROTO_BYTES > max_len) msg_len = max_len - MSG_PROTO_BYTES; - len = msg_len + 4; + len = msg_len + MSG_PROTO_BYTES; ASSERT(msg_len >= 0 && msg_len < 0xffff); need_copy = msg != out_msg + MSG_HEADER_BYTES; ASSERT(!need_copy || diff --git a/include/message.h b/include/message.h index 867dff8b58..fa41d9597c 100644 --- a/include/message.h +++ b/include/message.h @@ -46,8 +46,8 @@ enum message_cmd_t { * The hdr byte is just a tag to indicate that the real message follows. It * signals the end of any preamble required by the interface. * - * The 16-bit length includes the length of the header, len bytes, message - * and checksum, but not the final preamble byte. + * The 16-bit length is the entire packet size, including the header, length + * bytes, message payload, checksum, and postamble byte. * * The checksum is calculated as the sum of the header, len byte and message. *