From 159681c390bd18aba2f08890d2ff2f7a82100547 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Tue, 12 Apr 2016 12:04:38 +0200 Subject: [PATCH] Fix crash in Downtime::DowntimesExpireTimerHandler fixes #11534 fixes #11559 --- lib/icinga/comment.cpp | 2 +- lib/icinga/downtime.cpp | 2 +- lib/notification/notificationcomponent.cpp | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) 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()) -- 2.40.0