Jörg Höhle : mciwave: Fix a leak when Open fails (valgrind).
Alexandre Julliard
julliard at winehq.org
Mon Feb 28 11:02:11 CST 2011
Module: wine
Branch: master
Commit: 90da8b749ebe228fd75b20132a42e3568440fd27
URL: http://source.winehq.org/git/wine.git/?a=commit;h=90da8b749ebe228fd75b20132a42e3568440fd27
Author: Jörg Höhle <hoehle at users.sourceforge.net>
Date: Fri Feb 25 15:58:47 2011 +0100
mciwave: Fix a leak when Open fails (valgrind).
---
dlls/mciwave/mciwave.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/dlls/mciwave/mciwave.c b/dlls/mciwave/mciwave.c
index 1cf3556..9a62f8f 100644
--- a/dlls/mciwave/mciwave.c
+++ b/dlls/mciwave/mciwave.c
@@ -465,7 +465,7 @@ static LRESULT WAVE_mciOpenFile(WINE_MCIWAVE* wmw, LPCWSTR filename)
fn = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(filename) + 1) * sizeof(WCHAR));
if (!fn) return MCIERR_OUT_OF_MEMORY;
strcpyW(fn, filename);
- HeapFree(GetProcessHeap(), 0, (void*)wmw->lpFileName);
+ HeapFree(GetProcessHeap(), 0, wmw->lpFileName);
wmw->lpFileName = fn;
if (strlenW(filename) > 0) {
@@ -568,6 +568,8 @@ static LRESULT WAVE_mciOpen(MCIDEVICEID wDevID, DWORD dwFlags, LPMCI_WAVE_OPEN_P
if (wmw->hFile != 0)
mmioClose(wmw->hFile, 0);
wmw->hFile = 0;
+ HeapFree(GetProcessHeap(), 0, wmw->lpFileName);
+ wmw->lpFileName = NULL;
}
return dwRet;
}
@@ -680,7 +682,7 @@ static DWORD WAVE_mciClose(MCIDEVICEID wDevID, DWORD dwFlags, LPMCI_GENERIC_PARM
if (wmw->lpWaveFormat != &wmw->wfxRef)
HeapFree(GetProcessHeap(), 0, wmw->lpWaveFormat);
wmw->lpWaveFormat = &wmw->wfxRef;
- HeapFree(GetProcessHeap(), 0, (void*)wmw->lpFileName);
+ HeapFree(GetProcessHeap(), 0, wmw->lpFileName);
wmw->lpFileName = NULL;
if ((dwFlags & MCI_NOTIFY) && lpParms) {
@@ -1025,7 +1027,7 @@ static DWORD WAVE_mciRecord(MCIDEVICEID wDevID, DWORD_PTR dwFlags, DWORD_PTR pmt
* we don't modify the wave part of an existing file (ie. we always erase an
* existing content, we don't overwrite)
*/
- HeapFree(GetProcessHeap(), 0, (void*)wmw->lpFileName);
+ HeapFree(GetProcessHeap(), 0, wmw->lpFileName);
dwRet = create_tmp_file(&wmw->hFile, (WCHAR**)&wmw->lpFileName);
if (dwRet != 0) return dwRet;
More information about the wine-cvs
mailing list