From 17fdbf35bbdefebf9fd81e0644080a82bbf57514 Mon Sep 17 00:00:00 2001 From: psychon Date: Thu, 18 Feb 2010 12:42:49 +0000 Subject: [PATCH] Fix a small memory leak in webadmin If the two passwords entered didn't match, webadmin leaked a CUser instance. This was found by cppcheck, too. git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1762 726aef4b-f618-498e-8847-2d620e286838 --- modules/webadmin.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/webadmin.cpp b/modules/webadmin.cpp index 86c82bc5..a6bdeae3 100644 --- a/modules/webadmin.cpp +++ b/modules/webadmin.cpp @@ -1020,8 +1020,6 @@ CUser* CWebAdminSock::GetNewUser(CString& sPageRet, CUser* pUser) { sUsername = pUser->GetUserName(); } - CUser* pNewUser = new CUser(sUsername); - CString sArg = GetParam("password"); if (sArg != GetParam("password2")) { @@ -1029,6 +1027,8 @@ CUser* CWebAdminSock::GetNewUser(CString& sPageRet, CUser* pUser) { return NULL; } + CUser* pNewUser = new CUser(sUsername); + if (!sArg.empty()) { CString sSalt = CUtils::GetSalt(); CString sHash = CUser::SaltedHash(sArg, sSalt);