From d9e8f38eff6a842f3397dec7eb16dd62ee8dc151 Mon Sep 17 00:00:00 2001 From: w12x Date: Fri, 26 Dec 2008 14:55:16 +0100 Subject: Fixed a crash in OutdoorPvPObjective::UpdateActivePlayerProximityCheck caused by incrementing an already deleted iterator. --HG-- branch : trunk --- src/game/OutdoorPvP.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/game/OutdoorPvP.cpp b/src/game/OutdoorPvP.cpp index f2310aa4e0c..06d56897f1e 100644 --- a/src/game/OutdoorPvP.cpp +++ b/src/game/OutdoorPvP.cpp @@ -446,8 +446,11 @@ void OutdoorPvPObjective::UpdateActivePlayerProximityCheck() { for(int team = 0; team < 2; ++team) { - for(std::set::iterator itr = m_ActivePlayerGuids[team].begin(); itr != m_ActivePlayerGuids[team].end(); ++ itr) + std::set::iterator itr, next; + for(itr = m_ActivePlayerGuids[team].begin(); itr != m_ActivePlayerGuids[team].end(); itr = next) { + next = itr; + ++next; // if the player is online if(Player * pl = objmgr.GetPlayer(*itr)) { -- cgit v1.2.3