Maarten Lankhorst : winmm: Fix valgrind warnings on exit.

Alexandre Julliard julliard at winehq.org
Fri May 23 05:45:37 CDT 2008


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

Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date:   Thu May 22 11:39:40 2008 -0700

winmm: Fix valgrind warnings on exit.

---

 dlls/winmm/lolvldrv.c |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/dlls/winmm/lolvldrv.c b/dlls/winmm/lolvldrv.c
index e0bf737..d50f329 100644
--- a/dlls/winmm/lolvldrv.c
+++ b/dlls/winmm/lolvldrv.c
@@ -763,10 +763,16 @@ void    MMDRV_Exit(void)
         MMDRV_ExitPerType(&MMDrvs[i], MMDRV_WAVEOUT);
         CloseDriver(MMDrvs[i].hDriver, 0, 0);
     }
-    HeapFree(GetProcessHeap(), 0, llTypes[MMDRV_AUX].lpMlds - 1);
-    HeapFree(GetProcessHeap(), 0, llTypes[MMDRV_MIXER].lpMlds - 1);
-    HeapFree(GetProcessHeap(), 0, llTypes[MMDRV_MIDIIN].lpMlds - 1);
-    HeapFree(GetProcessHeap(), 0, llTypes[MMDRV_MIDIOUT].lpMlds - 1);
-    HeapFree(GetProcessHeap(), 0, llTypes[MMDRV_WAVEIN].lpMlds - 1);
-    HeapFree(GetProcessHeap(), 0, llTypes[MMDRV_WAVEOUT].lpMlds - 1);
+    if (llTypes[MMDRV_AUX].lpMlds)
+        HeapFree(GetProcessHeap(), 0, llTypes[MMDRV_AUX].lpMlds - 1);
+    if (llTypes[MMDRV_MIXER].lpMlds)
+        HeapFree(GetProcessHeap(), 0, llTypes[MMDRV_MIXER].lpMlds - 1);
+    if (llTypes[MMDRV_MIDIIN].lpMlds)
+        HeapFree(GetProcessHeap(), 0, llTypes[MMDRV_MIDIIN].lpMlds - 1);
+    if (llTypes[MMDRV_MIDIOUT].lpMlds)
+        HeapFree(GetProcessHeap(), 0, llTypes[MMDRV_MIDIOUT].lpMlds - 1);
+    if (llTypes[MMDRV_WAVEIN].lpMlds)
+        HeapFree(GetProcessHeap(), 0, llTypes[MMDRV_WAVEIN].lpMlds - 1);
+    if (llTypes[MMDRV_WAVEOUT].lpMlds)
+        HeapFree(GetProcessHeap(), 0, llTypes[MMDRV_WAVEOUT].lpMlds - 1);
 }




More information about the wine-cvs mailing list