Core/Misc: Fix memleak

This commit is contained in:
Aokromes
2015-09-18 19:25:24 +02:00
parent d199edd991
commit bb021f4515

View File

@@ -234,7 +234,8 @@ namespace MMAP
{
TC_LOG_ERROR("phase", "MMAP:LoadTile: Bad header in mmap %03u%02i%02i.mmtile", mapId, x, y);
fclose(file);
return NULL;
delete pTile;
return nullptr;
}
if (pTile->fileHeader.mmapVersion != MMAP_VERSION)
@@ -242,7 +243,8 @@ namespace MMAP
TC_LOG_ERROR("phase", "MMAP:LoadTile: %03u%02i%02i.mmtile was built with generator v%i, expected v%i",
mapId, x, y, pTile->fileHeader.mmapVersion, MMAP_VERSION);
fclose(file);
return NULL;
delete pTile;
return nullptr;
}
pTile->data = (unsigned char*)dtAlloc(pTile->fileHeader.size, DT_ALLOC_PERM);
@@ -253,7 +255,8 @@ namespace MMAP
{
TC_LOG_ERROR("phase", "MMAP:LoadTile: Bad header or data in mmap %03u%02i%02i.mmtile", mapId, x, y);
fclose(file);
return NULL;
delete pTile;
return nullptr;
}
fclose(file);
@@ -542,7 +545,10 @@ namespace MMAP
PhasedTile* pt = new PhasedTile();
// remove old tile
if (dtStatusFailed(navMesh->removeTile(loadedTileRefs[packedXY], &pt->data, &pt->dataSize)))
{
TC_LOG_ERROR("phase", "MMapData::AddSwap: Could not unload %03u%02i%02i.mmtile from navmesh", _mapId, x, y);
delete pt;
}
else
{
TC_LOG_DEBUG("phase", "MMapData::AddSwap: Unloaded %03u%02i%02i.mmtile from navmesh", _mapId, x, y);