From d3a429b1eaa7269f55de2127116cb68a6661b086 Mon Sep 17 00:00:00 2001 From: Simon Lin Date: Wed, 8 Jul 2020 02:11:17 +0800 Subject: [PATCH] [mle] fix invalid router after ProcessRouteTlv (#5200) We always need to update existing router references after calling ProcessRouteTlv. --- src/core/thread/mle_router.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/core/thread/mle_router.cpp b/src/core/thread/mle_router.cpp index 4df5a0846..4e70eb23b 100644 --- a/src/core/thread/mle_router.cpp +++ b/src/core/thread/mle_router.cpp @@ -972,6 +972,9 @@ otError MleRouter::HandleLinkAccept(const Message & aMessage, VerifyOrExit(route.IsValid(), error = OT_ERROR_PARSE); SuccessOrExit(error = ProcessRouteTlv(route)); UpdateRoutes(route, routerId); + // need to update router after ProcessRouteTlv + router = mRouterTable.GetRouter(routerId); + OT_ASSERT(router != nullptr); } // update routing table