diff --git a/protocol/esta/rdm/message.cpp b/protocol/esta/rdm/message.cpp index 99bb056..3d31830 100644 --- a/protocol/esta/rdm/message.cpp +++ b/protocol/esta/rdm/message.cpp @@ -170,10 +170,10 @@ void Message::write(std::vector &buffer) const mdb.pid == DISC_UNIQUE_BRANCH.pid) return writeDiscBranch(buffer); - buffer.reserve(buffer.size() + 26 + mdb.pdl()); // pre-allocate necessary memory + buffer.reserve(buffer.size()+MESSAGE_MINIMUM_LENGTH+mdb.pdl()+2); // pre-allocate necessary memory buffer.push_back(SC_RDM); buffer.push_back(SC_SUB_MESSAGE); - buffer.push_back(24 + mdb.pdl()); + buffer.push_back(MESSAGE_MINIMUM_LENGTH+mdb.pdl()); writeType(buffer, destination.manufacturer); writeType(buffer, destination.device); writeType(buffer, source.manufacturer); @@ -205,7 +205,7 @@ void Message::writeDiscBranch(std::vector &buffer) const mdb.pid != DISC_UNIQUE_BRANCH.pid) return write(buffer); - buffer.reserve(buffer.size() + 24); // pre-allocate necessary memory + buffer.reserve(buffer.size() + MESSAGE_MINIMUM_LENGTH); // pre-allocate necessary memory for (int i = 0; i < 7; i++) buffer.push_back(0xfe); //!< Response Preamble bytes