diff --git a/dlls/winmm/mmio.c b/dlls/winmm/mmio.c index eeb794f67ccd4582cbb43e4c027a1585ea1367cf..d1004765fb55cf3541c201d23681a890e2c1bc61 100644 --- a/dlls/winmm/mmio.c +++ b/dlls/winmm/mmio.c @@ -312,9 +312,10 @@ static LPMMIOPROC MMIO_InstallIOProc(FOURCC fccIOProc, LPMMIOPROC pIOProc, WARN("Tried to remove built-in mmio proc. Skipping\n"); } else { /* Okay, nuke it */ + struct IOProcList* ptmpNode = *ppListNode; lpProc = (*ppListNode)->pIOProc; - HeapFree(GetProcessHeap(), 0, *ppListNode); *ppListNode = (*ppListNode)->pNext; + HeapFree(GetProcessHeap(), 0, ptmpNode); } } break; @@ -598,7 +599,7 @@ static BOOL MMIO_Destroy(LPWINE_MMIO wm) for (m = &(iData->lpMMIO); *m && *m != wm; m = &(*m)->lpNext); if (*m) { *m = (*m)->lpNext; - HeapFree(GetProcessHeap(), 0, *m); + HeapFree(GetProcessHeap(), 0, wm); wm = NULL; } LeaveCriticalSection(&iData->cs);