diff --git a/src/core/thread/network_data_leader_ftd.cpp b/src/core/thread/network_data_leader_ftd.cpp index 6f5418cf5..fb358d8d6 100644 --- a/src/core/thread/network_data_leader_ftd.cpp +++ b/src/core/thread/network_data_leader_ftd.cpp @@ -862,6 +862,7 @@ otError Leader::AddService(ServiceTlv &aService, uint8_t *aOldTlvs, uint8_t aOld NetworkDataTlv *cur; NetworkDataTlv *end; + VerifyOrExit(aService.IsValid(), error = OT_ERROR_PARSE); cur = aService.GetSubTlvs(); end = aService.GetNext();