Core/Dungeon Finder: add safe check in first call to FindNewGroup (Avoids Thousands of recursive calls
) --HG-- branch : trunk
This commit is contained in:
@@ -779,9 +779,22 @@ void LFGMgr::FindNewGroups(LfgGuidList &check, LfgGuidList all, LfgProposalList
|
|||||||
if (!check.size() || check.size() > MAXGROUPSIZE)
|
if (!check.size() || check.size() > MAXGROUPSIZE)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (check.size() == 1) // Consistency check
|
||||||
|
{
|
||||||
|
uint64 guid = *check.begin();
|
||||||
|
LfgQueueInfoMap::iterator itQueue = m_QueueInfoMap.find(guid);
|
||||||
|
if (itQueue == m_QueueInfoMap.end())
|
||||||
|
{
|
||||||
|
sLog.outError("LFGMgr::FindNewGroups: [" UI64FMTD "] is not queued but listed as queued!", guid);
|
||||||
|
RemoveFromQueue(guid);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sLog.outDebug("LFGMgr::FindNewGroup: (%s) - all(%s)", ConcatenateGuids(check).c_str(), ConcatenateGuids(all).c_str());
|
sLog.outDebug("LFGMgr::FindNewGroup: (%s) - all(%s)", ConcatenateGuids(check).c_str(), ConcatenateGuids(all).c_str());
|
||||||
LfgGuidList compatibles;
|
|
||||||
// Check individual compatibilities
|
// Check individual compatibilities
|
||||||
|
LfgGuidList compatibles;
|
||||||
for (LfgGuidList::iterator it = all.begin(); it != all.end(); ++it)
|
for (LfgGuidList::iterator it = all.begin(); it != all.end(); ++it)
|
||||||
{
|
{
|
||||||
check.push_back(*it);
|
check.push_back(*it);
|
||||||
|
|||||||
Reference in New Issue
Block a user