From 2c31d2634d9959f014fb55004e67c96e4f73772c Mon Sep 17 00:00:00 2001 From: Jonathan Hui Date: Wed, 30 Nov 2016 17:10:09 -0800 Subject: [PATCH] Clean up access to router state. (#1020) --- src/core/thread/mle_router.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/thread/mle_router.cpp b/src/core/thread/mle_router.cpp index 4f030eccb..439c521b6 100644 --- a/src/core/thread/mle_router.cpp +++ b/src/core/thread/mle_router.cpp @@ -3680,6 +3680,7 @@ void MleRouter::HandleAddressSolicitResponse(Coap::Header *aHeader, Message *aMe ThreadRloc16Tlv rlocTlv; ThreadRouterMaskTlv routerMaskTlv; uint8_t routerId; + Router *router; bool old; VerifyOrExit(result == kThreadError_None && aHeader != NULL && aMessage != NULL, ;); @@ -3708,7 +3709,9 @@ void MleRouter::HandleAddressSolicitResponse(Coap::Header *aHeader, Message *aMe SuccessOrExit(ThreadTlv::GetTlv(*aMessage, ThreadTlv::kRloc16, sizeof(rlocTlv), rlocTlv)); VerifyOrExit(rlocTlv.IsValid(), ;); - VerifyOrExit(IsRouterIdValid(routerId = GetRouterId(rlocTlv.GetRloc16())), ;); + routerId = GetRouterId(rlocTlv.GetRloc16()); + router = GetRouter(routerId); + VerifyOrExit(router != NULL,); SuccessOrExit(ThreadTlv::GetTlv(*aMessage, ThreadTlv::kRouterMask, sizeof(routerMaskTlv), routerMaskTlv)); VerifyOrExit(routerMaskTlv.IsValid(), ;); @@ -3728,7 +3731,7 @@ void MleRouter::HandleAddressSolicitResponse(Coap::Header *aHeader, Message *aMe SuccessOrExit(SetStateRouter(GetRloc16(mRouterId))); - mRouters[mRouterId].mCost = 0; + router->mCost = 0; // copy router id information mRouterIdSequence = routerMaskTlv.GetIdSequence();