aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2013-12-04 20:42:51 +0100
committerjackpoz <giacomopoz@gmail.com>2013-12-04 20:42:51 +0100
commit8669633921f09bdc61029842a78393c42c34946b (patch)
tree29fb910bef7063a4665664868553886d55ee7cd0 /src
parentfb1daeb44c76e633862d058aa067129159785548 (diff)
Core/Commands: Fix NULL dereference crash in .npc set link
Fix NULL dereference crash in .npc set link happening when passing a not-existent Creature guid as parameter, es. ".npc set link -1" . Issue spotted by static analysis, added in c05ed659cbc561b6e7c0016cc7b1548886d5337a
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 3672d4555fb..3d56225bc00 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -1412,6 +1412,11 @@ bool ObjectMgr::SetCreatureLinkedRespawn(uint32 guidLow, uint32 linkedGuidLow)
}
const CreatureData* slave = GetCreatureData(linkedGuidLow);
+ if (!slave)
+ {
+ TC_LOG_ERROR("sql.sql", "Creature '%u' linking to non-existent creature '%u'.", guidLow, linkedGuidLow);
+ return false;
+ }
const MapEntry* const map = sMapStore.LookupEntry(master->mapid);
if (!map || !map->Instanceable() || (master->mapid != slave->mapid))