diff options
| author | Machiavelli <none@none> | 2010-06-22 00:42:31 +0200 |
|---|---|---|
| committer | Machiavelli <none@none> | 2010-06-22 00:42:31 +0200 |
| commit | eefe75a31f58c24ec471aa8cd9502fc2b2dfb95b (patch) | |
| tree | 084b8faffd1b727074003a029ad53ed1fabb2614 /src/server/game/Groups/Group.h | |
| parent | 4e361d0d9b339dde22a1edd7cc9ce5a33cb2f9f0 (diff) | |
Fix possible bug occuring during shuffling of raid subgroups, and prevent client side exploit. Author: Vladimir.
--HG--
branch : trunk
Diffstat (limited to 'src/server/game/Groups/Group.h')
| -rw-r--r-- | src/server/game/Groups/Group.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/server/game/Groups/Group.h b/src/server/game/Groups/Group.h index 808de417b79..8ec44c53b02 100644 --- a/src/server/game/Groups/Group.h +++ b/src/server/game/Groups/Group.h @@ -33,6 +33,7 @@ #define MAXGROUPSIZE 5 #define MAXRAIDSIZE 40 +#define MAX_RAID_SUBGROUPS MAXRAIDSIZE/MAXGROUPSIZE #define TARGETICONCOUNT 8 enum RollVote @@ -260,7 +261,7 @@ class Group { member_citerator mslot = _getMemberCSlot(guid); if (mslot == m_memberSlots.end()) - return (MAXRAIDSIZE/MAXGROUPSIZE+1); + return (MAX_RAID_SUBGROUPS+1); return mslot->group; } @@ -381,9 +382,9 @@ class Group { // Sub group counters initialization if (!m_subGroupsCounts) - m_subGroupsCounts = new uint8[MAXRAIDSIZE / MAXGROUPSIZE]; + m_subGroupsCounts = new uint8[MAX_RAID_SUBGROUPS]; - memset((void*)m_subGroupsCounts, 0, (MAXRAIDSIZE / MAXGROUPSIZE)*sizeof(uint8)); + memset((void*)m_subGroupsCounts, 0, (MAX_RAID_SUBGROUPS)*sizeof(uint8)); for (member_citerator itr = m_memberSlots.begin(); itr != m_memberSlots.end(); ++itr) ++m_subGroupsCounts[itr->group]; |
