diff --git a/src/core/meshcop/commissioner.cpp b/src/core/meshcop/commissioner.cpp index b1aa0cf4e..ad08eee1c 100644 --- a/src/core/meshcop/commissioner.cpp +++ b/src/core/meshcop/commissioner.cpp @@ -154,10 +154,9 @@ otError Commissioner::Start(otCommissionerStateCallback aStateCallback, mCallbackContext = aCallbackContext; mTransmitAttempts = 0; + SuccessOrExit(error = SendPetition()); SetState(OT_COMMISSIONER_STATE_PETITION); - SendPetition(); - exit: return error; } @@ -507,7 +506,7 @@ otError Commissioner::SendMgmtCommissionerGetRequest(const uint8_t *aTlvs, uint8 } messageInfo.SetSockAddr(Get().GetMeshLocal16()); - Get().GetLeaderAloc(messageInfo.GetPeerAddr()); + SuccessOrExit(error = Get().GetLeaderAloc(messageInfo.GetPeerAddr())); messageInfo.SetPeerPort(kCoapUdpPort); SuccessOrExit(error = Get().SendMessage(*message, messageInfo, Commissioner::HandleMgmtCommissionerGetResponse, this)); @@ -604,7 +603,7 @@ otError Commissioner::SendMgmtCommissionerSetRequest(const otCommissioningDatase } messageInfo.SetSockAddr(Get().GetMeshLocal16()); - Get().GetLeaderAloc(messageInfo.GetPeerAddr()); + SuccessOrExit(error = Get().GetLeaderAloc(messageInfo.GetPeerAddr())); messageInfo.SetPeerPort(kCoapUdpPort); SuccessOrExit(error = Get().SendMessage(*message, messageInfo, Commissioner::HandleMgmtCommissionerSetResponse, this)); @@ -662,7 +661,7 @@ otError Commissioner::SendPetition(void) SuccessOrExit(error = message->AppendTlv(commissionerId)); - Get().GetLeaderAloc(messageInfo.GetPeerAddr()); + SuccessOrExit(error = Get().GetLeaderAloc(messageInfo.GetPeerAddr())); messageInfo.SetPeerPort(kCoapUdpPort); messageInfo.SetSockAddr(Get().GetMeshLocal16()); SuccessOrExit( @@ -759,7 +758,7 @@ otError Commissioner::SendKeepAlive(void) SuccessOrExit(error = message->AppendTlv(sessionId)); messageInfo.SetSockAddr(Get().GetMeshLocal16()); - Get().GetLeaderAloc(messageInfo.GetPeerAddr()); + SuccessOrExit(error = Get().GetLeaderAloc(messageInfo.GetPeerAddr())); messageInfo.SetPeerPort(kCoapUdpPort); SuccessOrExit(error = Get().SendMessage(*message, messageInfo, Commissioner::HandleLeaderKeepAliveResponse, this));