Skip to content
Permalink
Browse files

Fix crash in ConfigItem::Commit

fixes #11804
  • Loading branch information...
gunnarbeutner committed May 18, 2016
1 parent 4af6bde commit 222b90107f30ae0f994f178087c6a5ec55864da1
Showing with 18 additions and 4 deletions.
  1. +18 −4 lib/config/configitem.cpp
@@ -194,7 +194,10 @@ ConfigObject::Ptr ConfigItem::Commit(bool discard)
Log(LogNotice, "ConfigObject")
<< "Ignoring config object '" << m_Name << "' of type '" << m_Type << "' due to errors: " << DiagnosticInformation(ex);

m_IgnoredItems.push_back(m_DebugInfo.Path);
{
boost::mutex::scoped_lock lock(m_Mutex);
m_IgnoredItems.push_back(m_DebugInfo.Path);
}

return ConfigObject::Ptr();
}
@@ -243,7 +246,10 @@ ConfigObject::Ptr ConfigItem::Commit(bool discard)
Log(LogNotice, "ConfigObject")
<< "Ignoring config object '" << m_Name << "' of type '" << m_Type << "' due to errors: " << DiagnosticInformation(ex);

m_IgnoredItems.push_back(m_DebugInfo.Path);
{
boost::mutex::scoped_lock lock(m_Mutex);
m_IgnoredItems.push_back(m_DebugInfo.Path);
}

return ConfigObject::Ptr();
}
@@ -259,7 +265,10 @@ ConfigObject::Ptr ConfigItem::Commit(bool discard)
Log(LogNotice, "ConfigObject")
<< "Ignoring config object '" << m_Name << "' of type '" << m_Type << "' due to errors: " << DiagnosticInformation(ex);

m_IgnoredItems.push_back(m_DebugInfo.Path);
{
boost::mutex::scoped_lock lock(m_Mutex);
m_IgnoredItems.push_back(m_DebugInfo.Path);
}

return ConfigObject::Ptr();
}
@@ -374,7 +383,10 @@ void ConfigItem::OnAllConfigLoadedHelper(void)

Unregister();

m_IgnoredItems.push_back(m_DebugInfo.Path);
{
boost::mutex::scoped_lock lock(m_Mutex);
m_IgnoredItems.push_back(m_DebugInfo.Path);
}

return;
}
@@ -645,6 +657,8 @@ std::vector<ConfigItem::Ptr> ConfigItem::GetItems(const String& type)

void ConfigItem::RemoveIgnoredItems(const String& allowedConfigPath)
{
boost::mutex::scoped_lock lock(m_Mutex);

BOOST_FOREACH(const String& path, m_IgnoredItems) {
if (path.Find(allowedConfigPath) == String::NPos)
continue;

0 comments on commit 222b901

Please sign in to comment.
You can’t perform that action at this time.