mirror of
https://github.com/espressif/openthread.git
synced 2026-08-01 08:37:47 +00:00
[network-data] fix FindTlv() to return NULL when TLV sequence is malformed (#4771)
This commit is contained in:
@@ -66,7 +66,7 @@ NetworkDataTlv *NetworkData::FindTlv(NetworkDataTlv *aStart, NetworkDataTlv *aEn
|
||||
|
||||
for (tlv = aStart; tlv < aEnd; tlv = tlv->GetNext())
|
||||
{
|
||||
VerifyOrExit((tlv + 1) <= aEnd && tlv->GetNext() <= aEnd);
|
||||
VerifyOrExit((tlv + 1) <= aEnd && tlv->GetNext() <= aEnd, tlv = NULL);
|
||||
|
||||
if (tlv->GetType() == aType)
|
||||
{
|
||||
@@ -89,7 +89,7 @@ NetworkDataTlv *NetworkData::FindTlv(NetworkDataTlv * aStart,
|
||||
|
||||
for (tlv = aStart; tlv < aEnd; tlv = tlv->GetNext())
|
||||
{
|
||||
VerifyOrExit((tlv + 1) <= aEnd && tlv->GetNext() <= aEnd);
|
||||
VerifyOrExit((tlv + 1) <= aEnd && tlv->GetNext() <= aEnd, tlv = NULL);
|
||||
|
||||
if ((tlv->GetType() == aType) && (tlv->IsStable() == aStable))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user