Core/Spells: Added additional validation to loading spell_linked_spell to prevent infinite loops

Port From (https://github.com/TrinityCore/TrinityCore/commit/badb55bfd97c16fecfb8cd73ba99e39ecb6b622d)
This commit is contained in:
hondacrx
2023-01-23 00:24:27 -05:00
parent 4b86a00d6e
commit 8921432333
4 changed files with 38 additions and 20 deletions
+2 -2
View File
@@ -2312,7 +2312,7 @@ namespace Game.Spells
// trigger linked auras remove/apply
// @todo remove/cleanup this, as this table is not documented and people are doing stupid things with it
var spellTriggered = Global.SpellMgr.GetSpellLinked((int)m_spellInfo.Id + (int)SpellLinkedType.Hit);
var spellTriggered = Global.SpellMgr.GetSpellLinked(SpellLinkedType.Hit, m_spellInfo.Id);
if (spellTriggered != null)
{
foreach (var id in spellTriggered)
@@ -2894,7 +2894,7 @@ namespace Game.Spells
CallScriptAfterCastHandlers();
var spell_triggered = Global.SpellMgr.GetSpellLinked((int)m_spellInfo.Id);
var spell_triggered = Global.SpellMgr.GetSpellLinked(SpellLinkedType.Cast, m_spellInfo.Id);
if (spell_triggered != null)
{
foreach (var spellId in spell_triggered)