From 9499bc251097fe3b6ea76e72d72228b9d45055a9 Mon Sep 17 00:00:00 2001 From: Adam Dobrowolski Date: Mon, 2 May 2022 15:04:41 +0200 Subject: [PATCH] [MOS-425] Crash fix on unchecked nullptr Added with id propagation to OS --- module-services/service-db/ServiceDBCommon.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/module-services/service-db/ServiceDBCommon.cpp b/module-services/service-db/ServiceDBCommon.cpp index 2ef03487a8e90c4112b99a5eaf722fa9da56bede..e3fa40fac1dd750f9f3bdefe48705b75711b4a9a 100644 --- a/module-services/service-db/ServiceDBCommon.cpp +++ b/module-services/service-db/ServiceDBCommon.cpp @@ -35,10 +35,18 @@ sys::MessagePointer ServiceDBCommon::DataReceivedHandler(sys::DataMessage *msgl, auto query = msg->getQuery(); auto queryType = query->type; auto result = interface->runQuery(std::move(query)); - auto recordID = result->getRecordID().value_or(0); - responseMsg = std::make_shared(std::move(result)); + std::optional id; + if (result != nullptr) { + id = result->getRecordID(); + } + else { + LOG_WARN("There is no response associated with query: %s!", query ? query->debugInfo().c_str() : ""); + } + responseMsg = std::make_shared(std::move(result)); - sendUpdateNotification(msg->getInterface(), queryType, recordID); + if (id) { + sendUpdateNotification(msg->getInterface(), queryType, *id); + } } break; default: