aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/Map.cpp
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2017-12-08 15:14:51 +0100
committerjackpoz <giacomopoz@gmail.com>2017-12-08 15:14:51 +0100
commit925557d1c097cd45311b38dc3a9c715579456980 (patch)
treeeee3ff427546e271b608919ef7602d3d4a8a6f8d /src/server/game/Maps/Map.cpp
parent19e99478a70515660615fa8c9d27c7b9581d3098 (diff)
Core/Misc: Fix static analysis issues
Fix various coverity reported issues
Diffstat (limited to 'src/server/game/Maps/Map.cpp')
-rw-r--r--src/server/game/Maps/Map.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index fefe4cca09d..f1af14e5b8d 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -2680,8 +2680,10 @@ void Map::GetFullTerrainStatusForPosition(float x, float y, float z, PositionFul
if (vmapData.areaInfo)
data.areaInfo = boost::in_place(vmapData.areaInfo->adtId, vmapData.areaInfo->rootId, vmapData.areaInfo->groupId, vmapData.areaInfo->mogpFlags);
+ float mapHeight = VMAP_INVALID_HEIGHT;
GridMap* gmap = const_cast<Map*>(this)->GetGrid(x, y);
- float mapHeight = gmap->getHeight(x, y);
+ if (gmap)
+ mapHeight = gmap->getHeight(x, y);
// area lookup
AreaTableEntry const* areaEntry = nullptr;
@@ -2689,6 +2691,8 @@ void Map::GetFullTerrainStatusForPosition(float x, float y, float z, PositionFul
if (WMOAreaTableEntry const* wmoEntry = GetWMOAreaTableEntryByTripple(vmapData.areaInfo->rootId, vmapData.areaInfo->adtId, vmapData.areaInfo->groupId))
areaEntry = sAreaTableStore.LookupEntry(wmoEntry->areaId);
+ data.areaId = 0;
+
if (areaEntry)
{
data.floorZ = vmapData.floorZ;
@@ -2697,7 +2701,8 @@ void Map::GetFullTerrainStatusForPosition(float x, float y, float z, PositionFul
else
{
data.floorZ = mapHeight;
- data.areaId = gmap->getArea(x, y);
+ if (gmap)
+ data.areaId = gmap->getArea(x, y);
if (!data.areaId)
data.areaId = i_mapEntry->linked_zone;