diff options
author | Spp <spp@jorge.gr> | 2013-02-23 17:24:21 +0100 |
---|---|---|
committer | Spp <spp@jorge.gr> | 2013-02-23 19:18:09 +0100 |
commit | 22353a012ff506f9388355b0d464bfafaf610902 (patch) | |
tree | a5ea1d5e3286d07a7e98314d8754ddcb60b9bbe3 /src | |
parent | 56e32aac82fe6d18280f6202e3e44d6935fb4b4c (diff) |
Core/RBAC: Fix mem leak
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Accounts/AccountMgr.cpp | 11 | ||||
-rw-r--r-- | src/server/game/Accounts/AccountMgr.h | 1 |
2 files changed, 12 insertions, 0 deletions
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); |