From 22353a012ff506f9388355b0d464bfafaf610902 Mon Sep 17 00:00:00 2001 From: Spp Date: Sat, 23 Feb 2013 17:24:21 +0100 Subject: [PATCH] Core/RBAC: Fix mem leak --- src/server/game/Accounts/AccountMgr.cpp | 11 +++++++++++ src/server/game/Accounts/AccountMgr.h | 1 + 2 files changed, 12 insertions(+) diff --git a/src/server/game/Accounts/AccountMgr.cpp b/src/server/game/Accounts/AccountMgr.cpp index 8c08a9ae202..596f7f5ceb9 100644 --- a/src/server/game/Accounts/AccountMgr.cpp +++ b/src/server/game/Accounts/AccountMgr.cpp @@ -27,7 +27,18 @@ AccountMgr::AccountMgr() { +} +AccountMgr::~AccountMgr() +{ + for (RBACPermissionsContainer::iterator itr = _permissions.begin(); itr != _permissions.end(); ++itr) + delete itr->second; + + for (RBACRolesContainer::iterator itr = _roles.begin(); itr != _roles.end(); ++itr) + delete itr->second; + + for (RBACGroupsContainer::iterator itr = _groups.begin(); itr != _groups.end(); ++itr) + delete itr->second; } AccountOpResult AccountMgr::CreateAccount(std::string username, std::string password) diff --git a/src/server/game/Accounts/AccountMgr.h b/src/server/game/Accounts/AccountMgr.h index 440e012f1fc..2c07172723d 100644 --- a/src/server/game/Accounts/AccountMgr.h +++ b/src/server/game/Accounts/AccountMgr.h @@ -45,6 +45,7 @@ class AccountMgr private: AccountMgr(); + ~AccountMgr(); public: AccountOpResult CreateAccount(std::string username, std::string password);