From fc4748ae74578644128ec6ca60d7fa573fd8cf38 Mon Sep 17 00:00:00 2001 From: Andrew Eikum <aeikum@codeweavers.com> Date: Wed, 27 Apr 2011 09:12:43 -0500 Subject: [PATCH] winealsa.drv: Properly allocate and free the WAVEFORMATEX returned by IsFormatSupported. --- dlls/winealsa.drv/Makefile.in | 2 +- dlls/winealsa.drv/mmdevdrv.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dlls/winealsa.drv/Makefile.in b/dlls/winealsa.drv/Makefile.in index 541d3601202..7a74c36f1c3 100644 --- a/dlls/winealsa.drv/Makefile.in +++ b/dlls/winealsa.drv/Makefile.in @@ -1,5 +1,5 @@ MODULE = winealsa.drv -IMPORTS = dxguid uuid winmm user32 advapi32 +IMPORTS = dxguid uuid winmm ole32 user32 advapi32 EXTRALIBS = @ALSALIBS@ C_SRCS = \ diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c index b73145caec0..f041d222ed0 100644 --- a/dlls/winealsa.drv/mmdevdrv.c +++ b/dlls/winealsa.drv/mmdevdrv.c @@ -271,7 +271,7 @@ static ULONG WINAPI AudioClient_Release(IAudioClient *iface) snd_pcm_close(This->pcm_handle); HeapFree(GetProcessHeap(), 0, This->local_buffer); HeapFree(GetProcessHeap(), 0, This->hw_params); - HeapFree(GetProcessHeap(), 0, This->fmt); + CoTaskMemFree(This->fmt); HeapFree(GetProcessHeap(), 0, This); } return ref; @@ -321,7 +321,7 @@ static WAVEFORMATEX *clone_format(const WAVEFORMATEX *fmt) else size = sizeof(WAVEFORMATEX); - ret = HeapAlloc(GetProcessHeap(), 0, size); + ret = CoTaskMemAlloc(size); if(!ret) return NULL; @@ -850,7 +850,7 @@ exit: HeapFree(GetProcessHeap(), 0, formats); if(hr == S_OK || !out){ - HeapFree(GetProcessHeap(), 0, closest); + CoTaskMemFree(closest); if(out) *out = NULL; }else if(closest){ -- GitLab