Fix use after free.
CID #716804
svn path=/trunk/; revision=62632
IN PSOUND_DEVICE SoundDevice)
{
MMRESULT Result;
IN PSOUND_DEVICE SoundDevice)
{
MMRESULT Result;
- PSOUND_DEVICE_INSTANCE SoundDeviceInstance;
+ PSOUND_DEVICE_INSTANCE SoundDeviceInstance, NextDeviceInstance;
SoundDeviceInstance = SoundDevice->HeadInstance;
while ( SoundDeviceInstance )
{
SoundDeviceInstance = SoundDevice->HeadInstance;
while ( SoundDeviceInstance )
{
+ NextDeviceInstance = SoundDeviceInstance->Next;
Result = DestroySoundDeviceInstance(SoundDeviceInstance);
SND_ASSERT( MMSUCCESS(Result) );
Result = DestroySoundDeviceInstance(SoundDeviceInstance);
SND_ASSERT( MMSUCCESS(Result) );
- SoundDeviceInstance = SoundDeviceInstance->Next;
+ SoundDeviceInstance = NextDeviceInstance;
}
return MMSYSERR_NOERROR;
}
return MMSYSERR_NOERROR;