[REGEXPL]

Fix memory leaks
Fix broken if condition
Use delete[] operator for allocations made with new[] operator
Properly check for failed allocations by not throwing exception

svn path=/trunk/; revision=54034
This commit is contained in:
Pierre Schweitzer 2011-10-06 21:36:10 +00:00
parent 7e02fbd0dd
commit c91f9ef382
16 changed files with 100 additions and 82 deletions

View file

@ -200,7 +200,7 @@ CheckDirArgument:
if (nError != ERROR_SUCCESS)
throw nError;
TCHAR *pszSubkeyNameBuffer = new TCHAR[dwMaxSubkeyNameLength];
TCHAR *pszSubkeyNameBuffer = new (std::nothrow) TCHAR[dwMaxSubkeyNameLength];
if (!pszSubkeyNameBuffer)
throw ERROR_OUTOFMEMORY;
@ -216,7 +216,7 @@ CheckDirArgument:
}
}
delete pszSubkeyNameBuffer;
delete[] pszSubkeyNameBuffer;
if (nError != ERROR_NO_MORE_ITEMS)
throw nError;
@ -226,7 +226,7 @@ CheckDirArgument:
if (nError != ERROR_SUCCESS)
throw nError;
TCHAR *pchValueNameBuffer = new TCHAR[dwMaxValueNameBufferSize];
TCHAR *pchValueNameBuffer = new (std::nothrow) TCHAR[dwMaxValueNameBufferSize];
if (!pchValueNameBuffer)
throw ERROR_OUTOFMEMORY;
@ -259,7 +259,7 @@ CheckDirArgument:
}
}
delete pchValueNameBuffer;
delete[] pchValueNameBuffer;
if (nError != ERROR_NO_MORE_ITEMS)
throw nError;