diff --git a/src/platform/BUILD.gn b/src/platform/BUILD.gn index fc68f13a3ab4bf..e61a8727df40e7 100644 --- a/src/platform/BUILD.gn +++ b/src/platform/BUILD.gn @@ -519,6 +519,12 @@ if (chip_device_platform != "none") { "OpenThread/GenericNetworkCommissioningThreadDriver.cpp", "OpenThread/GenericNetworkCommissioningThreadDriver.h", ] + if (chip_openthread_border_router) { + sources += [ + "OpenThread/GenericThreadBorderRouterDelegate.cpp", + "OpenThread/GenericThreadBorderRouterDelegate.h", + ] + } } cflags = [ "-Wconversion" ] diff --git a/src/platform/ESP32/BUILD.gn b/src/platform/ESP32/BUILD.gn index 91922dcebb9fc5..bfe7dba543f4cb 100644 --- a/src/platform/ESP32/BUILD.gn +++ b/src/platform/ESP32/BUILD.gn @@ -158,8 +158,6 @@ static_library("ESP32") { if (chip_enable_openthread) { sources += [ - "../OpenThread/GenericNetworkCommissioningThreadDriver.cpp", - "../OpenThread/GenericNetworkCommissioningThreadDriver.h", "../OpenThread/OpenThreadUtils.cpp", "OpenthreadLauncher.cpp", "OpenthreadLauncher.h", @@ -172,13 +170,6 @@ static_library("ESP32") { "../OpenThread/OpenThreadDnssdImpl.h", ] } - if (chip_openthread_border_router) { - deps += [ "${chip_root}/src/app/common:ids" ] - sources += [ - "${chip_root}/src/platform/OpenThread/GenericThreadBorderRouterDelegate.cpp", - "${chip_root}/src/platform/OpenThread/GenericThreadBorderRouterDelegate.h", - ] - } configs -= [ "${chip_root}/build/config/compiler:warnings_default" ] } diff --git a/src/platform/OpenThread/GenericThreadBorderRouterDelegate.cpp b/src/platform/OpenThread/GenericThreadBorderRouterDelegate.cpp index b08b0ab47321b3..b064dc92855214 100644 --- a/src/platform/OpenThread/GenericThreadBorderRouterDelegate.cpp +++ b/src/platform/OpenThread/GenericThreadBorderRouterDelegate.cpp @@ -215,8 +215,9 @@ CHIP_ERROR GenericOpenThreadBorderRouterDelegate::SetPendingDataset(const Thread VerifyOrReturnError(otInst, CHIP_ERROR_INCORRECT_STATE); otOperationalDatasetTlvs datasetTlvs; + VerifyOrDie(pendingDataset.AsByteSpan().size() <= OT_OPERATIONAL_DATASET_MAX_LENGTH); memcpy(datasetTlvs.mTlvs, pendingDataset.AsByteSpan().data(), pendingDataset.AsByteSpan().size()); - datasetTlvs.mLength = pendingDataset.AsByteSpan().size(); + datasetTlvs.mLength = static_cast(pendingDataset.AsByteSpan().size()); { ScopedThreadLock threadLock; ReturnErrorCodeIf(otDatasetSetPendingTlvs(otInst, &datasetTlvs) != OT_ERROR_NONE, CHIP_ERROR_INTERNAL);