Insert Addressing::LeaveGroup call on dropping multicast group membership.
Omitting this call left invalid reference to deleted group in the multicast groups hash-map and any upcoming attempt to join the group will crash the system. Fixes #6736.
This commit is contained in:
@@ -61,6 +61,7 @@ template<typename Addressing> status_t
|
|||||||
MulticastGroupInterface<Addressing>::Drop()
|
MulticastGroupInterface<Addressing>::Drop()
|
||||||
{
|
{
|
||||||
fAddresses.Clear();
|
fAddresses.Clear();
|
||||||
|
Addressing::LeaveGroup(this);
|
||||||
fFilterMode = kInclude;
|
fFilterMode = kInclude;
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ template<typename Addressing> status_t
|
|||||||
MulticastGroupInterface<Addressing>::Drop()
|
MulticastGroupInterface<Addressing>::Drop()
|
||||||
{
|
{
|
||||||
fAddresses.Clear();
|
fAddresses.Clear();
|
||||||
|
Addressing::LeaveGroup(this);
|
||||||
fFilterMode = kInclude;
|
fFilterMode = kInclude;
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user