diff --git a/src/core/meshcop/border_agent.cpp b/src/core/meshcop/border_agent.cpp index 7fabc27ec..b51f5c4f8 100644 --- a/src/core/meshcop/border_agent.cpp +++ b/src/core/meshcop/border_agent.cpp @@ -1220,6 +1220,8 @@ void Manager::CoapDtlsSession::HandleTmfProxyTx(Coap::Message &aMessage) OffsetRange offsetRange; UdpEncapsulationTlvHeader udpEncapHeader; + VerifyOrExit(IsActiveCommissioner(), error = kErrorInvalidState); + SuccessOrExit(error = Tlv::FindTlvValueOffsetRange(aMessage, Tlv::kUdpEncapsulation, offsetRange)); SuccessOrExit(error = aMessage.Read(offsetRange, udpEncapHeader)); @@ -1258,6 +1260,8 @@ void Manager::CoapDtlsSession::HandleTmfRelayTx(Coap::Message &aMessage) VerifyOrExit(aMessage.IsNonConfirmablePostRequest()); + VerifyOrExit(IsActiveCommissioner(), error = kErrorInvalidState); + SuccessOrExit(error = Tlv::Find(aMessage, joinerRouterRloc)); message.Reset(Get().NewPriorityNonConfirmablePostMessage(kUriRelayTx));