mirror of
https://github.com/espressif/openthread.git
synced 2026-08-03 09:27:47 +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:
|
||||
{
|
||||
const NetworkNameTlv *tlv = static_cast<const NetworkNameTlv *>(cur);
|
||||
memcpy(aDataset.mNetworkName.m8, tlv->GetNetworkName(), tlv->GetLength());
|
||||
aDataset.mNetworkName.m8[tlv->GetLength()] = '\0';
|
||||
uint8_t length = tlv->GetLength();
|
||||
|
||||
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;
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user