[meshcop] add IsBound check in JoinerRouter::HandleStateChanged (#4170)

This commit is contained in:
huamenggg
2019-09-17 01:41:10 -07:00
committed by Jonathan Hui
parent ff66a71c6a
commit 9a0ef5304a
+4 -2
View File
@@ -76,12 +76,12 @@ void JoinerRouter::HandleStateChanged(otChangedFlags aFlags)
VerifyOrExit(Get<Mle::MleRouter>().IsFullThreadDevice());
VerifyOrExit(aFlags & OT_CHANGED_THREAD_NETDATA);
Get<Ip6::Filter>().RemoveUnsecurePort(mSocket.GetSockName().mPort);
if (Get<NetworkData::Leader>().IsJoiningEnabled())
{
Ip6::SockAddr sockaddr;
VerifyOrExit(!mSocket.IsBound());
sockaddr.mPort = GetJoinerUdpPort();
mSocket.Open(&JoinerRouter::HandleUdpReceive, this);
@@ -91,6 +91,8 @@ void JoinerRouter::HandleStateChanged(otChangedFlags aFlags)
}
else
{
Get<Ip6::Filter>().RemoveUnsecurePort(mSocket.GetSockName().mPort);
mSocket.Close();
}