From: Michael Friedrich Date: Thu, 31 Mar 2016 09:42:52 +0000 (+0200) Subject: Fix: Overwriting global type variables causes crash in ConfigItem::Commit() X-Git-Tag: v2.5.0~433 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=027a23f46829eff9754a004b1b87e8c5dd52d95c;p=icinga2 Fix: Overwriting global type variables causes crash in ConfigItem::Commit() fixes #11484 --- diff --git a/lib/config/configitem.cpp b/lib/config/configitem.cpp index 44f65b19b..03ff2596a 100644 --- a/lib/config/configitem.cpp +++ b/lib/config/configitem.cpp @@ -168,7 +168,8 @@ ConfigObject::Ptr ConfigItem::Commit(bool discard) /* Make sure the type is valid. */ Type::Ptr type = Type::GetByName(GetType()); - ASSERT(type && ConfigObject::TypeInstance->IsAssignableFrom(type)); + if (!type || !ConfigObject::TypeInstance->IsAssignableFrom(type)) + BOOST_THROW_EXCEPTION(ScriptError("Type '" + GetType() + "' does not exist.", m_DebugInfo)); if (IsAbstract()) return ConfigObject::Ptr();