Kaydet (Commit) bf8e3135 authored tarafından Herbert Dürr's avatar Herbert Dürr

protect UNO EnvStack's s_setCurrent() against unknown threadid

untracked threadIds have been observed and can result in crashes.
s_getCurrent() already checks them and s_setCurrent() does it now.
üst 684adcd9
...@@ -76,11 +76,11 @@ static void s_setCurrent(uno_Environment * pEnv) ...@@ -76,11 +76,11 @@ static void s_setCurrent(uno_Environment * pEnv)
osl::MutexGuard guard(s_threadMap_mutex); osl::MutexGuard guard(s_threadMap_mutex);
if (pEnv) if (pEnv)
s_threadMap[threadId] = pEnv; s_threadMap[threadId] = pEnv;
else else
{ {
ThreadMap::iterator iEnv = s_threadMap.find(threadId); ThreadMap::iterator iEnv = s_threadMap.find(threadId);
s_threadMap.erase(iEnv); if( iEnv != s_threadMap.end())
s_threadMap.erase(iEnv);
} }
} }
......
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