Commit 7bb885a3 authored by Andrew Eikum's avatar Andrew Eikum Committed by Alexandre Julliard

xaudio2: Protect access to submix voice during creation (Coverity).

parent 2c82e8b4
......@@ -1475,8 +1475,10 @@ static HRESULT WINAPI IXAudio2Impl_CreateSubmixVoice(IXAudio2 *iface,
EnterCriticalSection(&This->lock);
LIST_FOR_EACH_ENTRY(sub, &This->submix_voices, XA2SubmixImpl, entry){
EnterCriticalSection(&sub->lock);
if(!sub->in_use)
break;
LeaveCriticalSection(&sub->lock);
}
if(&sub->entry == &This->submix_voices){
......@@ -1498,11 +1500,14 @@ static HRESULT WINAPI IXAudio2Impl_CreateSubmixVoice(IXAudio2 *iface,
InitializeCriticalSection(&sub->lock);
sub->lock.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": XA2SubmixImpl.lock");
EnterCriticalSection(&sub->lock);
}
sub->in_use = TRUE;
LeaveCriticalSection(&This->lock);
LeaveCriticalSection(&sub->lock);
#if XAUDIO2_VER == 0
*ppSubmixVoice = (IXAudio2SubmixVoice*)&sub->IXAudio20SubmixVoice_iface;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment