diff options
author | Shauren <shauren.trinity@gmail.com> | 2023-08-13 23:47:42 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2023-08-13 23:47:42 +0200 |
commit | c2d8c64d366899d7f3ab22b5abd79f44640a70e7 (patch) | |
tree | e3752984dc9039678b076780a19361c831fe4a4d | |
parent | 3c0dcfc2c6bd546b5e81244328a183b4887c79ed (diff) |
Core/Spells: Validate spellmod array size at startup
-rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
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) |