diff --git a/src/framework/net/outputmessage.cpp b/src/framework/net/outputmessage.cpp index d7a573c5..d8559d9c 100644 --- a/src/framework/net/outputmessage.cpp +++ b/src/framework/net/outputmessage.cpp @@ -38,11 +38,11 @@ void OutputMessage::reset() void OutputMessage::setBuffer(const std::string& buffer) { int len = buffer.size(); - checkWrite(MAX_HEADER_SIZE + len); - memcpy(m_buffer + MAX_HEADER_SIZE, buffer.c_str(), len); - m_writePos = MAX_HEADER_SIZE; - m_headerPos = MAX_HEADER_SIZE; - m_messageSize = len; + reset(); + checkWrite(len); + memcpy((char*)(m_buffer + m_writePos), buffer.c_str(), len); + m_writePos += len; + m_messageSize += len; } void OutputMessage::addU8(uint8 value)