diff --git a/source/6LoWPAN/Thread/thread_router_bootstrap.c b/source/6LoWPAN/Thread/thread_router_bootstrap.c index 46aa212365c..0a4a2741168 100644 --- a/source/6LoWPAN/Thread/thread_router_bootstrap.c +++ b/source/6LoWPAN/Thread/thread_router_bootstrap.c @@ -1665,6 +1665,11 @@ void thread_router_bootstrap_mle_receive_cb(int8_t interface_id, mle_message_t * } } + if (!(id_req->mode & MLE_FFD_DEV) && addressRegisteredTlv.tlvLen == 0) { + tr_debug("No address registration TLV in MTD child id request"); + thread_child_id_request_entry_remove(cur, id_req); + return; + } id_req->keyId = security_headers->KeyIndex; id_req->keySeq = common_read_32_bit(security_headers->Keysource);