mirror of
https://github.com/espressif/openthread.git
synced 2026-08-06 02:37:47 +00:00
[network-data] fix length overflow in ServiceTlv::IsValid() (#4855)
This commit is contained in:
@@ -1015,7 +1015,9 @@ public:
|
||||
uint8_t length = GetLength();
|
||||
|
||||
return (length >= sizeof(mFlagsServiceId)) &&
|
||||
(length >= kMinLength + (IsThreadEnterprise() ? 0 : sizeof(uint32_t))) && (length >= GetFieldsLength());
|
||||
(length >= kMinLength + (IsThreadEnterprise() ? 0 : sizeof(uint32_t))) &&
|
||||
(static_cast<uint16_t>(length) + sizeof(NetworkDataTlv) >=
|
||||
CalculateSize(GetEnterpriseNumber(), GetServiceDataLength()));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user