mirror of https://github.com/Icinga/icinga2.git
parent
6ba0c5fe01
commit
b621b00e3a
|
@ -32,11 +32,16 @@ void Zone::OnAllConfigLoaded(void)
|
||||||
m_Parent = Zone::GetByName(GetParentRaw());
|
m_Parent = Zone::GetByName(GetParentRaw());
|
||||||
|
|
||||||
Zone::Ptr zone = m_Parent;
|
Zone::Ptr zone = m_Parent;
|
||||||
|
int levels = 0;
|
||||||
|
|
||||||
while (zone) {
|
while (zone) {
|
||||||
m_AllParents.push_back(zone);
|
m_AllParents.push_back(zone);
|
||||||
|
|
||||||
zone = Zone::GetByName(zone->GetParentRaw());
|
zone = Zone::GetByName(zone->GetParentRaw());
|
||||||
|
levels++;
|
||||||
|
|
||||||
|
if (levels > 32)
|
||||||
|
BOOST_THROW_EXCEPTION(ScriptError("Infinite recursion detected while resolving zone graph. Check your zone hierarchy.", GetDebugInfo()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue