Skip to content

Commit 865e94a

Browse files
committed
Check ICD duration arguments or exit
1 parent 161ce0e commit 865e94a

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

examples/platform/linux/AppMain.cpp

+11-2
Original file line numberDiff line numberDiff line change
@@ -528,8 +528,17 @@ int ChipLinuxAppInit(int argc, char * const argv[], OptionSet * customOptions,
528528
#endif // CHIP_ENABLE_OPENTHREAD
529529

530530
#if CHIP_CONFIG_ENABLE_ICD_SERVER
531-
Server::GetInstance().GetICDManager().SetModeDurations(LinuxDeviceOptions::GetInstance().icdActiveModeDurationMs,
532-
LinuxDeviceOptions::GetInstance().icdIdleModeDurationMs);
531+
if (LinuxDeviceOptions::GetInstance().icdActiveModeDurationMs.HasValue() ||
532+
LinuxDeviceOptions::GetInstance().icdIdleModeDurationMs.HasValue())
533+
{
534+
err = Server::GetInstance().GetICDManager().SetModeDurations(LinuxDeviceOptions::GetInstance().icdActiveModeDurationMs,
535+
LinuxDeviceOptions::GetInstance().icdIdleModeDurationMs);
536+
if (err != CHIP_NO_ERROR)
537+
{
538+
ChipLogError(NotSpecified, "Invalid arguments to set ICD mode durations");
539+
SuccessOrExit(err);
540+
}
541+
}
533542
#endif // CHIP_CONFIG_ENABLE_ICD_SERVER
534543

535544
exit:

0 commit comments

Comments
 (0)