diff --git a/src/core/thread/network_data.cpp b/src/core/thread/network_data.cpp index 0813c7c1a..4bdd6509b 100644 --- a/src/core/thread/network_data.cpp +++ b/src/core/thread/network_data.cpp @@ -211,7 +211,7 @@ otError NetworkData::GetNextExternalRoute(otNetworkDataIterator *aIterator, uint aConfig->mRloc16 = hasRouteEntry->GetRloc(); aConfig->mNextHopIsThisDevice = (hasRouteEntry->GetRloc() == GetNetif().GetMle().GetRloc16()); - *aIterator = static_cast(reinterpret_cast(cur->GetNext()) - mTlvs); + iterator.SetTlvsIndex(static_cast(reinterpret_cast(cur) - mTlvs)); ExitNow(error = OT_ERROR_NONE); }