diff --git a/src/core/thread/mle.cpp b/src/core/thread/mle.cpp index c7c78fbc1..300aed091 100644 --- a/src/core/thread/mle.cpp +++ b/src/core/thread/mle.cpp @@ -3350,16 +3350,20 @@ exit: void Mle::HandleChildUpdateRequest(RxInfo &aRxInfo) { + VerifyOrExit(IsAttached()); + #if OPENTHREAD_FTD if (IsRouterOrLeader()) { HandleChildUpdateRequestOnParent(aRxInfo); + ExitNow(); } - else #endif - { - HandleChildUpdateRequestOnChild(aRxInfo); - } + + HandleChildUpdateRequestOnChild(aRxInfo); + +exit: + return; } void Mle::HandleChildUpdateRequestOnChild(RxInfo &aRxInfo)