From a26a24adf1e62f2d4dad19a8a3eed5ab0ff1f112 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Sat, 21 Sep 2013 14:55:08 +0200 Subject: Core/AccountMgr: Fix memory leak on account creation Fix .account create command not deleting a MySql PreparedStatement . Valgrind log: 254 (40 direct, 214 indirect) bytes in 1 blocks are definitely lost in loss record 6 of 8 at 0x4C24DFA: operator new(unsigned long) (vg_replace_malloc.c:261) by 0x998EC2: DatabaseWorkerPool::GetPreparedStatement(unsigned int) (DatabaseWorkerPool.h:437) by 0x99599B: AccountMgr::CreateAccount(std::string, std::string, std::string) (AccountMgr.cpp:49) by 0xF3ABAC: account_commandscript::HandleAccountCreateCommand(ChatHandler*, char const*) --- src/server/game/Accounts/AccountMgr.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/server/game/Accounts/AccountMgr.cpp b/src/server/game/Accounts/AccountMgr.cpp index 819a3b85fe6..b3dec265617 100644 --- a/src/server/game/Accounts/AccountMgr.cpp +++ b/src/server/game/Accounts/AccountMgr.cpp @@ -54,6 +54,7 @@ AccountOpResult AccountMgr::CreateAccount(std::string username, std::string pass stmt->setString(3, email); LoginDatabase.DirectExecute(stmt); // Enforce saving, otherwise AddGroup can fail + delete stmt; stmt = LoginDatabase.GetPreparedStatement(LOGIN_INS_REALM_CHARACTERS_INIT); -- cgit v1.2.3