From bd96cc5bd58dabcff64975c91f12779e593b16fc Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 5 Sep 2014 01:22:22 +0300 Subject: Add checking for each packet size after reading and processed. --- src/net/messagein.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/net/messagein.cpp') diff --git a/src/net/messagein.cpp b/src/net/messagein.cpp index 92447cde2..0c7f9cb7e 100644 --- a/src/net/messagein.cpp +++ b/src/net/messagein.cpp @@ -47,6 +47,26 @@ MessageIn::MessageIn(const char *const data, const unsigned int length) : DEBUGLOG("MessageIn"); } +MessageIn::~MessageIn() +{ + if (mLength) + { + if (mPos != mLength && mPos != 2) + { + logger->log("Wrong actual or planned inbound packet size!"); + logger->log(" packet id: %d 0x%x", + static_cast(mId), + static_cast(mId)); + logger->log(" planned size: %u", mLength); + logger->log(" read size: %u", mPos); + } + } + else + { + logger->log("Zero packet size: %d", static_cast(mId)); + } +} + unsigned char MessageIn::readUInt8(const char *const str) { unsigned char value = static_cast(-1); -- cgit v1.2.3-60-g2f50