[FIXED] Access (read) violation using a LLVivoxVoiceClient::sessionState() after it's been free'ed

The shared pointer is passed by reference to LLVivoxVoiceClient::deleteSession() where
mSessionsByHandle.erase(iter) removes the last reference causing it to destruct while still
being accessed later on in the function.
Kitty Barnett 2017-10-12 22:46:11 +02:00
parent 1a676b2882
commit 7758a2c342
1 changed files with 2 additions and 1 deletions

View File

@ -5670,7 +5670,8 @@ void LLVivoxVoiceClient::deleteAllSessions()
while (!mSessionsByHandle.empty())
{
deleteSession(mSessionsByHandle.begin()->second);
const sessionStatePtr_t session = mSessionsByHandle.begin()->second;
deleteSession(session);
}
}