From 320cd16f209c95480c3dacf8d2a17466d551019f Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Sat, 4 Sep 2010 18:11:36 +0200 Subject: Core/ArenaTeam: Correct player_divider use in ArenaTeam::GetAverageMMR and add a sanity check --HG-- branch : trunk --- src/server/game/Battlegrounds/ArenaTeam.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Battlegrounds/ArenaTeam.cpp b/src/server/game/Battlegrounds/ArenaTeam.cpp index 02c849c9e61..605966e8e81 100644 --- a/src/server/game/Battlegrounds/ArenaTeam.cpp +++ b/src/server/game/Battlegrounds/ArenaTeam.cpp @@ -606,7 +606,7 @@ uint32 ArenaTeam::GetAverageMMR(Group *group) const return 0; uint32 matchmakerrating = 0; - uint32 player_divider = 1; + uint32 player_divider = 0; for (MemberList::const_iterator itr = m_members.begin(); itr != m_members.end(); ++itr) { // If player not online @@ -620,6 +620,10 @@ uint32 ArenaTeam::GetAverageMMR(Group *group) const matchmakerrating += itr->matchmaker_rating; ++player_divider; } + + //- x/0 = crash + if (player_divider == 0) + player_divider = 1; matchmakerrating /= player_divider; -- cgit v1.2.3