mirror of
https://github.com/espressif/openthread.git
synced 2026-10-07 00:07:42 +00:00
[operational-dataset] add length check when reading network name (#2226)
This commit is contained in:
@@ -195,8 +195,15 @@ otError DatasetLocal::Get(otOperationalDataset &aDataset) const
|
|||||||
case Tlv::kNetworkName:
|
case Tlv::kNetworkName:
|
||||||
{
|
{
|
||||||
const NetworkNameTlv *tlv = static_cast<const NetworkNameTlv *>(cur);
|
const NetworkNameTlv *tlv = static_cast<const NetworkNameTlv *>(cur);
|
||||||
memcpy(aDataset.mNetworkName.m8, tlv->GetNetworkName(), tlv->GetLength());
|
uint8_t length = tlv->GetLength();
|
||||||
aDataset.mNetworkName.m8[tlv->GetLength()] = '\0';
|
|
||||||
|
if (length > sizeof(aDataset.mNetworkName) - 1)
|
||||||
|
{
|
||||||
|
length = sizeof(aDataset.mNetworkName) - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
memcpy(aDataset.mNetworkName.m8, tlv->GetNetworkName(), length);
|
||||||
|
aDataset.mNetworkName.m8[length] = '\0';
|
||||||
aDataset.mIsNetworkNameSet = true;
|
aDataset.mIsNetworkNameSet = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user