diff options
| author | jackpoz <giacomopoz@gmail.com> | 2013-12-04 20:42:51 +0100 |
|---|---|---|
| committer | jackpoz <giacomopoz@gmail.com> | 2013-12-04 20:42:51 +0100 |
| commit | 8669633921f09bdc61029842a78393c42c34946b (patch) | |
| tree | 29fb910bef7063a4665664868553886d55ee7cd0 /src | |
| parent | fb1daeb44c76e633862d058aa067129159785548 (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.cpp | 5 |
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)) |
