[PATCH] localui: Fix a memory leak
Detlef Riekenberg
wine.dev at web.de
Tue Sep 29 06:35:45 CDT 2009
---
dlls/localui/localui.c | 10 +++-------
1 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/dlls/localui/localui.c b/dlls/localui/localui.c
index 2acfc7e..b9e4c4e 100644
--- a/dlls/localui/localui.c
+++ b/dlls/localui/localui.c
@@ -503,7 +503,6 @@ static BOOL WINAPI localui_AddPortUI(PCWSTR pName, HWND hWnd, PCWSTR pMonitorNam
{
addportui_t data;
HANDLE hXcv;
- LPWSTR ptr = NULL;
DWORD needed;
DWORD dummy;
DWORD status;
@@ -529,14 +528,11 @@ static BOOL WINAPI localui_AddPortUI(PCWSTR pName, HWND hWnd, PCWSTR pMonitorNam
(PBYTE) &dummy, 0, &needed, &status);
TRACE("got %u with status %u\n", res, status);
- if (res && (status == ERROR_SUCCESS)) {
+ if (res && (status == ERROR_SUCCESS) && ppPortName) {
/* Native localui uses GlobalAlloc also.
The caller must GlobalFree the buffer */
- ptr = GlobalAlloc(GPTR, (lstrlenW(data.portname)+1) * sizeof(WCHAR));
- if (ptr) {
- lstrcpyW(ptr, data.portname);
- if (ppPortName) *ppPortName = ptr;
- }
+ *ppPortName = GlobalAlloc(GPTR, (lstrlenW(data.portname)+1) * sizeof(WCHAR));
+ if (*ppPortName) lstrcpyW(*ppPortName, data.portname);
}
if (res && (status == ERROR_ALREADY_EXISTS)) {
--
1.5.4.3
--=-Qhe0u7QX5Ubc6QHVMzep--
More information about the wine-patches
mailing list