From badb55bfd97c16fecfb8cd73ba99e39ecb6b622d Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 15 Jan 2023 13:30:17 +0100 Subject: Core/Spells: Added additional validation to loading spell_linked_spell to prevent infinite loops Closes #28753 --- src/server/game/Spells/Spell.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/server/game/Spells/Spell.cpp') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index d463e785f55..a894a3037e9 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3205,7 +3205,7 @@ void Spell::DoTriggersOnSpellHit(Unit* unit) // trigger linked auras remove/apply /// @todo remove/cleanup this, as this table is not documented and people are doing stupid things with it - if (std::vector const* spellTriggered = sSpellMgr->GetSpellLinked(m_spellInfo->Id + SPELL_LINK_HIT)) + if (std::vector const* spellTriggered = sSpellMgr->GetSpellLinked(SPELL_LINK_HIT, m_spellInfo->Id)) { for (std::vector::const_iterator i = spellTriggered->begin(); i != spellTriggered->end(); ++i) { @@ -3746,7 +3746,7 @@ void Spell::_cast(bool skipCheck) CallScriptAfterCastHandlers(); - if (std::vector const* spell_triggered = sSpellMgr->GetSpellLinked(m_spellInfo->Id)) + if (std::vector const* spell_triggered = sSpellMgr->GetSpellLinked(SPELL_LINK_CAST, m_spellInfo->Id)) { for (int32 id : *spell_triggered) { -- cgit v1.2.3