Andrew Eikum : winealsa.drv: Properly allocate and free the WAVEFORMATEX returned by IsFormatSupported.

Alexandre Julliard julliard at winehq.org
Wed Apr 27 12:47:29 CDT 2011


Module: wine
Branch: master
Commit: fc4748ae74578644128ec6ca60d7fa573fd8cf38
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=fc4748ae74578644128ec6ca60d7fa573fd8cf38

Author: Andrew Eikum <aeikum at codeweavers.com>
Date:   Wed Apr 27 09:12:43 2011 -0500

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 541d360..7a74c36 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 b73145c..f041d22 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){




More information about the wine-cvs mailing list