[PATCH] winecfg: free result in error nodes (Coverity)
Marcus Meissner
meissner at suse.de
Mon Jul 15 14:49:15 CDT 2013
713849 Resource leak
---
programs/winecfg/winecfg.h | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/programs/winecfg/winecfg.h b/programs/winecfg/winecfg.h
index e8289ea..b031497 100644
--- a/programs/winecfg/winecfg.h
+++ b/programs/winecfg/winecfg.h
@@ -154,7 +154,11 @@ static inline char *get_text(HWND dialog, WORD id)
HWND item = GetDlgItem(dialog, id);
int len = GetWindowTextLengthA(item) + 1;
char *result = len ? HeapAlloc(GetProcessHeap(), 0, len) : NULL;
- if (!result || GetWindowTextA(item, result, len) == 0) return NULL;
+ if (!result) return NULL;
+ if (GetWindowTextA(item, result, len) == 0) {
+ HeapFree (GetProcessHeap(), 0, result);
+ return NULL;
+ }
return result;
}
@@ -163,7 +167,11 @@ static inline WCHAR *get_textW(HWND dialog, WORD id)
HWND item = GetDlgItem(dialog, id);
int len = GetWindowTextLengthW(item) + 1;
WCHAR *result = len ? HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)) : NULL;
- if (!result || GetWindowTextW(item, result, len) == 0) return NULL;
+ if (!result) return NULL;
+ if(GetWindowTextW(item, result, len) == 0) {
+ HeapFree (GetProcessHeap(), 0, result);
+ return NULL;
+ }
return result;
}
--
1.8.3
More information about the wine-patches
mailing list