aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellEffects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rwxr-xr-xsrc/server/game/Spells/SpellEffects.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index a4cf8e6a469..bcc791ac3fd 100755
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -3828,7 +3828,10 @@ void Spell::EffectTameCreature(SpellEffIndex /*effIndex*/)
Pet* pet = m_caster->CreateTamedPetFrom(creatureTarget, m_spellInfo->Id);
if (!pet) // in very specific state like near world end/etc.
+ {
+ delete pet;
return;
+ }
// "kill" original creature
creatureTarget->DespawnOrUnsummon();
@@ -7014,7 +7017,10 @@ void Spell::EffectCreateTamedPet(SpellEffIndex effIndex)
uint32 creatureEntry = m_spellInfo->Effects[effIndex].MiscValue;
Pet* pet = unitTarget->CreateTamedPetFrom(creatureEntry, m_spellInfo->Id);
if (!pet)
+ {
+ delete pet;
return;
+ }
// add to world
pet->GetMap()->AddToMap(pet->ToCreature());