]> granicus.if.org Git - icinga2/commitdiff
Increase dependency recursion limit to 256 6667/head
authorMichael Friedrich <michael.friedrich@icinga.com>
Wed, 10 Oct 2018 09:43:11 +0000 (11:43 +0200)
committerMichael Friedrich <michael.friedrich@icinga.com>
Wed, 24 Oct 2018 06:56:29 +0000 (08:56 +0200)
fixes #5762

lib/icinga/checkable-dependency.cpp

index 65cf386a90f24763eb628ea76138dd7a6dbc5cb8..8c0d6e02e1c79c789186364a41a1efc78ac2d2dd 100644 (file)
@@ -61,9 +61,12 @@ std::vector<Dependency::Ptr> Checkable::GetReverseDependencies() const
 
 bool Checkable::IsReachable(DependencyType dt, Dependency::Ptr *failedDependency, int rstack) const
 {
-       if (rstack > 20) {
+       /* Anything greater than 256 causes recursion bus errors. */
+       int limit = 256;
+
+       if (rstack > limit) {
                Log(LogWarning, "Checkable")
-                       << "Too many nested dependencies for service '" << GetName() << "': Dependency failed.";
+                       << "Too many nested dependencies (>" << limit << ") for checkable '" << GetName() << "': Dependency failed.";
 
                return false;
        }