From c2d8c64d366899d7f3ab22b5abd79f44640a70e7 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 13 Aug 2023 23:47:42 +0200 Subject: Core/Spells: Validate spellmod array size at startup --- src/server/game/Spells/SpellMgr.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index d201959cea2..9b09bb4abb3 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -2513,6 +2513,18 @@ void SpellMgr::LoadSpellInfoStore() if (effect->Effect == SPELL_EFFECT_LANGUAGE) sLanguageMgr->LoadSpellEffectLanguage(effect); + + switch (effect->EffectAura) + { + case SPELL_AURA_ADD_FLAT_MODIFIER: + case SPELL_AURA_ADD_PCT_MODIFIER: + case SPELL_AURA_ADD_PCT_MODIFIER_BY_SPELL_LABEL: + case SPELL_AURA_ADD_FLAT_MODIFIER_BY_SPELL_LABEL: + ASSERT(effect->EffectMiscValue[0] < MAX_SPELLMOD, "MAX_SPELLMOD must be at least %d", effect->EffectMiscValue[0] + 1); + break; + default: + break; + } } for (SpellAuraOptionsEntry const* auraOptions : sSpellAuraOptionsStore) -- cgit v1.2.3