]> granicus.if.org Git - icinga2/commitdiff
Hosts/services should not have themselves as parents
authorGunnar Beutner <gunnar.beutner@netways.de>
Wed, 29 Oct 2014 09:45:23 +0000 (10:45 +0100)
committerGunnar Beutner <gunnar.beutner@netways.de>
Wed, 29 Oct 2014 09:47:26 +0000 (10:47 +0100)
fixes #7483

lib/icinga/checkable-dependency.cpp

index 213031eb9c3f3c87a0c22b5a88cc0eee93ba202d..b66ddc70d0f579cd2fbdd58c310bf8ce583b3b02 100644 (file)
@@ -109,7 +109,7 @@ std::set<Checkable::Ptr> Checkable::GetParents(void) const
        BOOST_FOREACH(const Dependency::Ptr& dep, GetDependencies()) {
                Checkable::Ptr parent = dep->GetParent();
 
-               if (parent)
+               if (parent && parent.get() != this)
                        parents.insert(parent);
        }
 
@@ -123,7 +123,7 @@ std::set<Checkable::Ptr> Checkable::GetChildren(void) const
        BOOST_FOREACH(const Dependency::Ptr& dep, GetReverseDependencies()) {
                Checkable::Ptr service = dep->GetChild();
 
-               if (service)
+               if (service && service.get() != this)
                        parents.insert(service);
        }