aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormegamage <none@none>2009-04-27 21:26:28 -0500
committermegamage <none@none>2009-04-27 21:26:28 -0500
commit40a74d86a402467d85ab2275f3926c85637359e9 (patch)
treeacdc2ab29882c0cd4d59daca0efea791265389fd /src
parent4b3af494b3bdb4c067bf6b814e82959220811481 (diff)
[7725] Fixed memory leak in PlayerDumpWriter.
[7726] Fixed memory leak in InstanceSaveMgr. Author: AlexDereka --HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/InstanceSaveMgr.cpp7
-rw-r--r--src/game/PlayerDump.cpp2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/game/InstanceSaveMgr.cpp b/src/game/InstanceSaveMgr.cpp
index 43205cd1e8c..a76da38b449 100644
--- a/src/game/InstanceSaveMgr.cpp
+++ b/src/game/InstanceSaveMgr.cpp
@@ -555,7 +555,12 @@ void InstanceSaveManager::_ResetSave(InstanceSaveHashMap::iterator &itr)
Group *group = *(gList.begin());
group->UnbindInstance(itr->second->GetMapId(), itr->second->GetDifficulty(), true);
}
- m_instanceSaveById.erase(itr++);
+ InstanceSaveHashMap::iterator next;
+ next = itr;
+ ++next;
+ delete itr->second;
+ m_instanceSaveById.erase(itr);
+ itr = next;
lock_instLists = false;
}
diff --git a/src/game/PlayerDump.cpp b/src/game/PlayerDump.cpp
index d29bb184b09..5879741b61d 100644
--- a/src/game/PlayerDump.cpp
+++ b/src/game/PlayerDump.cpp
@@ -358,6 +358,8 @@ std::string PlayerDumpWriter::GetDump(uint32 guid)
}
else
sLog.outError("Table 'character_db_version' not have revision guard field, revision guard query not added to pdump.");
+
+ delete result;
}
else
sLog.outError("Character DB not have 'character_db_version' table, revision guard query not added to pdump.");