From f1b82c1b06604c2c1eed750a6c980aa0b5355560 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 11 Oct 2013 14:48:19 +0300 Subject: First part of checks from Parasoft C++ Test. --- src/net/tmwa/beinghandler.cpp | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'src/net/tmwa/beinghandler.cpp') diff --git a/src/net/tmwa/beinghandler.cpp b/src/net/tmwa/beinghandler.cpp index b127517ea..0f668d162 100644 --- a/src/net/tmwa/beinghandler.cpp +++ b/src/net/tmwa/beinghandler.cpp @@ -667,22 +667,24 @@ void BeingHandler::processBeingMove3(Net::MessageIn &msg) const int16_t y = msg.readInt16(); const unsigned char *moves = msg.readBytes(len); Path path; - for (int f = 0; f < len; f ++) + if (moves) { - const unsigned char dir = moves[f]; - if (dir <= 7) + for (int f = 0; f < len; f ++) { - x += dirx[dir]; - y += diry[dir]; - path.push_back(Position(x, y)); - } - else - { - logger->log("bad move packet: %d", dir); + const unsigned char dir = moves[f]; + if (dir <= 7) + { + x += dirx[dir]; + y += diry[dir]; + path.push_back(Position(x, y)); + } + else + { + logger->log("bad move packet: %d", dir); + } } + delete [] moves; } - - delete [] moves; dstBeing->setPath(path); } -- cgit v1.2.3-70-g09d2