From: Gunnar Beutner Date: Tue, 12 Apr 2016 10:04:38 +0000 (+0200) Subject: Fix crash in Downtime::DowntimesExpireTimerHandler X-Git-Tag: v2.5.0~413 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=974ca9f38b72fd5ebb1f0a2aea56f122d4ac6eac;p=icinga2 Fix crash in Downtime::DowntimesExpireTimerHandler fixes #11534 fixes #11559 --- diff --git a/lib/icinga/comment.cpp b/lib/icinga/comment.cpp index b411a4143..85c5f1a17 100644 --- a/lib/icinga/comment.cpp +++ b/lib/icinga/comment.cpp @@ -244,7 +244,7 @@ void Comment::CommentsExpireTimerHandler(void) } BOOST_FOREACH(const Comment::Ptr& comment, comments) { - if (comment->IsExpired()) + if (comment->IsActive() && comment->IsExpired()) RemoveComment(comment->GetName()); } } diff --git a/lib/icinga/downtime.cpp b/lib/icinga/downtime.cpp index d7668f795..2d1838302 100644 --- a/lib/icinga/downtime.cpp +++ b/lib/icinga/downtime.cpp @@ -358,7 +358,7 @@ void Downtime::DowntimesExpireTimerHandler(void) } BOOST_FOREACH(const Downtime::Ptr& downtime, downtimes) { - if (downtime->IsExpired()) + if (downtime->IsActive() && downtime->IsExpired()) RemoveDowntime(downtime->GetName(), false, true); } } diff --git a/lib/notification/notificationcomponent.cpp b/lib/notification/notificationcomponent.cpp index 3a1cf54de..abf1d7d75 100644 --- a/lib/notification/notificationcomponent.cpp +++ b/lib/notification/notificationcomponent.cpp @@ -72,6 +72,9 @@ void NotificationComponent::NotificationTimerHandler(void) double now = Utility::GetTime(); BOOST_FOREACH(const Notification::Ptr& notification, ConfigType::GetObjectsByType()) { + if (!notification->IsActive()) + continue; + Checkable::Ptr checkable = notification->GetCheckable(); if (checkable->IsPaused() && GetEnableHA())