diff options
author | Caolán McNamara <cmc@openoffice.org> | 2009-11-06 10:51:04 +0000 |
---|---|---|
committer | Caolán McNamara <cmc@openoffice.org> | 2009-11-06 10:51:04 +0000 |
commit | 4af04e66d256e1abe06a8f01e4911567413bf153 (patch) | |
tree | 36c472c13fcdc588d94b57164505618522ce757d /xmerge/source | |
parent | d6a487f786328f689c73a86afef7fd550febca35 (diff) |
cmcfixes66: #i106477# fix potential memleak and match new[]/delete[]
Diffstat (limited to 'xmerge/source')
-rw-r--r-- | xmerge/source/activesync/XMergeFilter.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/xmerge/source/activesync/XMergeFilter.cpp b/xmerge/source/activesync/XMergeFilter.cpp index ce1bc61cc58e..a02f11d03ad3 100644 --- a/xmerge/source/activesync/XMergeFilter.cpp +++ b/xmerge/source/activesync/XMergeFilter.cpp @@ -343,11 +343,6 @@ TCHAR* CXMergeFilter::GetJavaBaseDir() DWORD dwClassName = _MAX_PATH; DWORD dwKeyName = _MAX_PATH; - // Locations shouldn't be greater than _MAX_PATH - TCHAR* szJavaHome = new TCHAR[_MAX_PATH + 1]; - DWORD dwSize = _MAX_PATH + 1; - - /* * Java leaves registry keys at HKLM\SOFTWARE\JavaSoft. * @@ -357,6 +352,10 @@ TCHAR* CXMergeFilter::GetJavaBaseDir() if (lRet != ERROR_SUCCESS) return NULL; + // Locations shouldn't be greater than _MAX_PATH + TCHAR* szJavaHome = new TCHAR[_MAX_PATH + 1]; + DWORD dwSize = _MAX_PATH + 1; + /* use current version */ lRet = ::RegQueryValueEx(hKey, _T("CurrentVersion"), 0, NULL, (LPBYTE)szCurrentJava, &dwSize); @@ -376,6 +375,7 @@ TCHAR* CXMergeFilter::GetJavaBaseDir() if (lRet != ERROR_SUCCESS) { RegCloseKey(hKey); + delete [] szJavaHome; return NULL; } @@ -387,7 +387,7 @@ TCHAR* CXMergeFilter::GetJavaBaseDir() { RegCloseKey(hDataKey); RegCloseKey(hKey); - delete szJavaHome; + delete [] szJavaHome; return NULL; } @@ -400,7 +400,7 @@ TCHAR* CXMergeFilter::GetJavaBaseDir() if (((dwAttrs & FILE_ATTRIBUTE_DIRECTORY) != FILE_ATTRIBUTE_DIRECTORY) || dwAttrs == INVALID_FILE_SIZE) { - delete szJavaHome; + delete [] szJavaHome; return NULL; } |