mirror of
https://github.com/espressif/openthread.git
synced 2026-08-11 13:17:48 +00:00
[dataset-manager] check the read length from message on reading TLVs (#4313)
This commit is contained in:
committed by
Jonathan Hui
parent
bd7bd470ed
commit
09a9aa4e34
@@ -210,10 +210,10 @@ otError DatasetManager::HandleSet(Coap::Message &aMessage, const Ip6::MessageInf
|
||||
uint8_t value[Dataset::kMaxValueSize];
|
||||
} OT_TOOL_PACKED_END data;
|
||||
|
||||
aMessage.Read(offset, sizeof(Tlv), &data.tlv);
|
||||
VerifyOrExit(aMessage.Read(offset, sizeof(Tlv), &data.tlv) == sizeof(Tlv));
|
||||
VerifyOrExit(data.tlv.GetLength() <= sizeof(data.value));
|
||||
|
||||
aMessage.Read(offset + sizeof(Tlv), data.tlv.GetLength(), data.value);
|
||||
VerifyOrExit(aMessage.Read(offset + sizeof(Tlv), data.tlv.GetLength(), data.value) == data.tlv.GetLength());
|
||||
|
||||
switch (data.tlv.GetType())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user