From 12ca778fb5c743428b88534785723107e2edc05a Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Thu, 22 May 2008 11:39:40 -0700 Subject: [PATCH] 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); } -- 1.5.4.1