From 009736b8156bebef28953a64b36c87bafdc6372c Mon Sep 17 00:00:00 2001 From: Fesseha Date: Mon, 17 Jun 2024 17:54:28 +0200 Subject: [PATCH 1/2] - added null check to code which was leading to a fatal error if an app is built without setting test event trigger delegate mTestEventTriggerDelegate --- examples/smoke-co-alarm-app/silabs/src/AppTask.cpp | 5 ++++- src/app/server/Server.cpp | 10 ++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/examples/smoke-co-alarm-app/silabs/src/AppTask.cpp b/examples/smoke-co-alarm-app/silabs/src/AppTask.cpp index c9b4a3ab7281f1..dc99728ccf90d5 100644 --- a/examples/smoke-co-alarm-app/silabs/src/AppTask.cpp +++ b/examples/smoke-co-alarm-app/silabs/src/AppTask.cpp @@ -78,7 +78,10 @@ CHIP_ERROR AppTask::Init() } // Register Smoke & Co Test Event Trigger - Server::GetInstance().GetTestEventTriggerDelegate()->AddHandler(&AlarmMgr()); + if (Server::GetInstance().GetTestEventTriggerDelegate() != nullptr) + { + Server::GetInstance().GetTestEventTriggerDelegate()->AddHandler(&AlarmMgr()); + } sAlarmLED.Init(LIGHT_LED); sAlarmLED.Set(false); diff --git a/src/app/server/Server.cpp b/src/app/server/Server.cpp index a71d797651b418..8d98262e05b87e 100644 --- a/src/app/server/Server.cpp +++ b/src/app/server/Server.cpp @@ -359,7 +359,10 @@ CHIP_ERROR Server::Init(const ServerInitParams & initParams) chip::app::InteractionModelEngine::GetInstance()); // Register Test Event Trigger Handler - mTestEventTriggerDelegate->AddHandler(&mICDManager); + if (mTestEventTriggerDelegate != nullptr) + { + mTestEventTriggerDelegate->AddHandler(&mICDManager); + } #endif // CHIP_CONFIG_ENABLE_ICD_SERVER @@ -612,7 +615,10 @@ void Server::Shutdown() Credentials::SetGroupDataProvider(nullptr); #if CHIP_CONFIG_ENABLE_ICD_SERVER // Remove Test Event Trigger Handler - mTestEventTriggerDelegate->RemoveHandler(&mICDManager); + if (mTestEventTriggerDelegate != nullptr) + { + mTestEventTriggerDelegate->RemoveHandler(&mICDManager); + } mICDManager.Shutdown(); #endif // CHIP_CONFIG_ENABLE_ICD_SERVER mAttributePersister.Shutdown(); From 82f7cd9f5284cc559c707c8f383de14cd69ecee5 Mon Sep 17 00:00:00 2001 From: Fesseha Date: Tue, 16 Jul 2024 12:22:58 +0200 Subject: [PATCH 2/2] Log warning message when mTestEventTriggerDelegate is null --- src/app/server/Server.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/app/server/Server.cpp b/src/app/server/Server.cpp index 8d98262e05b87e..5be815f0864c95 100644 --- a/src/app/server/Server.cpp +++ b/src/app/server/Server.cpp @@ -182,6 +182,10 @@ CHIP_ERROR Server::Init(const ServerInitParams & initParams) mReportScheduler = initParams.reportScheduler; mTestEventTriggerDelegate = initParams.testEventTriggerDelegate; + if (mTestEventTriggerDelegate == nullptr) + { + ChipLogProgress(AppServer, "WARNING: mTestEventTriggerDelegate is null"); + } deviceInfoprovider = DeviceLayer::GetDeviceInfoProvider(); if (deviceInfoprovider)