From c8f2c20931c06e4e403ec087293018d3b799fc2e Mon Sep 17 00:00:00 2001 From: Lazar Kovacic Date: Thu, 22 Aug 2024 19:33:20 +0200 Subject: [PATCH 1/2] Add validation for pid&vid --- src/controller/CommissionerDiscoveryController.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/controller/CommissionerDiscoveryController.cpp b/src/controller/CommissionerDiscoveryController.cpp index 09a22e03e0bcd2..8874e005f96b10 100644 --- a/src/controller/CommissionerDiscoveryController.cpp +++ b/src/controller/CommissionerDiscoveryController.cpp @@ -155,6 +155,12 @@ void CommissionerDiscoveryController::OnUserDirectedCommissioningRequest(UDCClie return; } + if (state.GetProductId() == 0 && state.GetVendorId() == 0) { + // this is an invalid request and should be ignored + ChipLogDetail(Controller, "Ignoring the request as it's invalid. product and vendor id cannot be 0"); + return; + } + mReady = false; Platform::CopyString(mCurrentInstance, state.GetInstanceName()); mPendingConsent = true; @@ -163,7 +169,7 @@ void CommissionerDiscoveryController::OnUserDirectedCommissioningRequest(UDCClie sizeof(rotatingIdString)); if (err != CHIP_NO_ERROR) { - ChipLogError(AppServer, "On UDC: could not convert rotating id to hex"); + ChipLogError(Controller, "On UDC: could not convert rotating id to hex"); rotatingIdString[0] = '\0'; } From adbaa3fd3eb9d212cf4a2548db862d838ed58736 Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Thu, 22 Aug 2024 17:37:32 +0000 Subject: [PATCH 2/2] Restyled by clang-format --- src/controller/CommissionerDiscoveryController.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/controller/CommissionerDiscoveryController.cpp b/src/controller/CommissionerDiscoveryController.cpp index 8874e005f96b10..0cb8fe2f260f18 100644 --- a/src/controller/CommissionerDiscoveryController.cpp +++ b/src/controller/CommissionerDiscoveryController.cpp @@ -155,7 +155,8 @@ void CommissionerDiscoveryController::OnUserDirectedCommissioningRequest(UDCClie return; } - if (state.GetProductId() == 0 && state.GetVendorId() == 0) { + if (state.GetProductId() == 0 && state.GetVendorId() == 0) + { // this is an invalid request and should be ignored ChipLogDetail(Controller, "Ignoring the request as it's invalid. product and vendor id cannot be 0"); return;