prevent from subscribing multicast address twice (#1609)

This commit is contained in:
Buke Po
2017-04-18 05:33:29 -07:00
committed by Jonathan Hui
parent d819521e10
commit 8f10a456e1
+2 -8
View File
@@ -191,15 +191,9 @@ ThreadError Netif::SubscribeExternalMulticast(const Address &aAddress)
NetifMulticastAddress *entry;
size_t num = sizeof(mExtMulticastAddresses) / sizeof(mExtMulticastAddresses[0]);
for (entry = mMulticastAddresses; entry; entry = entry->GetNext())
if (IsMulticastSubscribed(aAddress))
{
if (memcmp(&entry->mAddress, &aAddress, sizeof(otIp6Address)) == 0)
{
VerifyOrExit((entry >= &mExtMulticastAddresses[0]) && (entry < &mExtMulticastAddresses[num]),
error = kThreadError_InvalidArgs);
ExitNow(error = kThreadError_Already);
}
ExitNow(error = kThreadError_Already);
}
// Find an available entry in the `mExtMulticastAddresses` array.