mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-21 12:47:07 +00:00
fix(Core/AchievementMgr): Check for null achievement before being derefenced. (#19504)
* Init. * Reviewed changes.
This commit is contained in:
@@ -2473,10 +2473,15 @@ bool AchievementGlobalMgr::IsStatisticAchievement(AchievementEntry const* achiev
|
||||
|
||||
bool AchievementGlobalMgr::IsAverageCriteria(AchievementCriteriaEntry const* criteria) const
|
||||
{
|
||||
if ((sAchievementStore.LookupEntry(criteria->referredAchievement))->flags & ACHIEVEMENT_FLAG_AVERAGE)
|
||||
auto referencedAchievement = sAchievementStore.LookupEntry(criteria->referredAchievement);
|
||||
|
||||
if (!referencedAchievement)
|
||||
return false;
|
||||
|
||||
if (referencedAchievement->flags & ACHIEVEMENT_FLAG_AVERAGE)
|
||||
return true;
|
||||
|
||||
if (AchievementEntryList const* achRefList = GetAchievementByReferencedId(criteria->referredAchievement))
|
||||
if (AchievementEntryList const* achRefList = GetAchievementByReferencedId(referencedAchievement->ID))
|
||||
for (AchievementEntryList::const_iterator itr = achRefList->begin(); itr != achRefList->end(); ++itr)
|
||||
if ((*itr)->flags & ACHIEVEMENT_FLAG_AVERAGE)
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user