[MMEBUDDY]
authorPierre Schweitzer <pierre@reactos.org>
Sat, 5 Apr 2014 21:08:10 +0000 (21:08 +0000)
committerPierre Schweitzer <pierre@reactos.org>
Sat, 5 Apr 2014 21:08:10 +0000 (21:08 +0000)
Fix use after free.

CID #716804

svn path=/trunk/; revision=62632

reactos/lib/drivers/sound/mmebuddy/deviceinstance.c

index 33f23e3..2e34aa6 100644 (file)
@@ -306,15 +306,16 @@ DestroyAllSoundDeviceInstances(
     IN  PSOUND_DEVICE SoundDevice)
 {
     MMRESULT Result;
-    PSOUND_DEVICE_INSTANCE SoundDeviceInstance;
+    PSOUND_DEVICE_INSTANCE SoundDeviceInstance, NextDeviceInstance;
 
     SoundDeviceInstance = SoundDevice->HeadInstance;
 
     while ( SoundDeviceInstance )
     {
+        NextDeviceInstance = SoundDeviceInstance->Next;
         Result = DestroySoundDeviceInstance(SoundDeviceInstance);
         SND_ASSERT( MMSUCCESS(Result) );
-        SoundDeviceInstance = SoundDeviceInstance->Next;
+        SoundDeviceInstance = NextDeviceInstance;
     }
 
     return MMSYSERR_NOERROR;