From c55c003f1fc54fb1255135ca504af533af55a8ee Mon Sep 17 00:00:00 2001 From: lotodore Date: Tue, 8 Feb 2011 16:41:46 +0000 Subject: [PATCH] Fixing nasty bugs found with the help of cppcheck. This should be backported to the current server asap. --- src/net/common/clientthread.cpp | 9 ++++++--- src/net/common/servergame.cpp | 5 +++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/net/common/clientthread.cpp b/src/net/common/clientthread.cpp index cdd16d73..9779768f 100644 --- a/src/net/common/clientthread.cpp +++ b/src/net/common/clientthread.cpp @@ -1224,10 +1224,12 @@ ClientThread::RemoveDisconnectedPlayers() // This should only be called between hands. if (m_game) { - PlayerListIterator it; - for (it = m_game->getSeatsList()->begin(); it != m_game->getSeatsList()->end(); it++) + PlayerList tmpList(m_game->getSeatsList()); + PlayerListIterator i = tmpList->begin(); + PlayerListIterator end = tmpList->end(); + while (i != end) { - boost::shared_ptr tmpPlayer = *it; + boost::shared_ptr tmpPlayer = *i; if (tmpPlayer->getMyActiveStatus()) { // If a player is not in the player data list, it was disconnected. @@ -1237,6 +1239,7 @@ ClientThread::RemoveDisconnectedPlayers() tmpPlayer->setMyActiveStatus(false); } } + ++i; } } } diff --git a/src/net/common/servergame.cpp b/src/net/common/servergame.cpp index 66f8ce5b..e041a534 100644 --- a/src/net/common/servergame.cpp +++ b/src/net/common/servergame.cpp @@ -847,8 +847,9 @@ ServerGame::RemoveDisconnectedPlayers() // This should only be called between hands. if (m_game) { - PlayerListIterator i = m_game->getSeatsList()->begin(); - PlayerListIterator end = m_game->getSeatsList()->end(); + PlayerList tmpList(m_game->getSeatsList()); + PlayerListIterator i = tmpList->begin(); + PlayerListIterator end = tmpList->end(); while (i != end) { boost::shared_ptr tmpPlayer = *i;