From 407d6c021968e2df190bf958d3bec900b0cef6bd Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Mon, 25 Nov 2019 17:15:47 +0100 Subject: [PATCH] IcingaDB#SendStatusUpdate(): avoid CheckResult::Ptr(nullptr)->GetCheckSource() --- lib/icingadb/icingadb-objects.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/icingadb/icingadb-objects.cpp b/lib/icingadb/icingadb-objects.cpp index 0f8c01717..4fa5e3b14 100644 --- a/lib/icingadb/icingadb-objects.cpp +++ b/lib/icingadb/icingadb-objects.cpp @@ -1192,13 +1192,17 @@ void IcingaDB::SendStatusUpdate(const ConfigObject::Ptr& object, const CheckResu "previous_hard_state", Convert::ToString(GetPreviousState(checkable, service, StateTypeHard)), "output", Utility::ValidateUTF8(std::move(output.first)), "long_output", Utility::ValidateUTF8(std::move(output.second)), - "check_source", cr->GetCheckSource(), "max_check_attempts", Convert::ToString(checkable->GetMaxCheckAttempts()), "event_time", Convert::ToString(TimestampToMilliseconds(cr ? cr->GetExecutionEnd() : Utility::GetTime())), "event_id", Utility::NewUniqueID(), "event_type", "state_change" }); + if (cr) { + xAdd.emplace_back("check_source"); + xAdd.emplace_back(cr->GetCheckSource()); + } + if (service) { xAdd.emplace_back("object_type"); xAdd.emplace_back("service");