aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2019-04-11 08:00:59 +0000
committerMark Johnston <markj@FreeBSD.org>2019-04-11 08:00:59 +0000
commitf1ef572a1ecd3214dec5600b675dbe3316dfb8ba (patch)
tree69c3a96aa7885f2c3954ecd9c5b9bf1c056f5277 /sys/netinet
parent7a590a370a199f5fb5e3835e9473baab0f7539c4 (diff)
Notes
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/in_mcast.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/netinet/in_mcast.c b/sys/netinet/in_mcast.c
index ab48fed348e60..9707f45d6ebff 100644
--- a/sys/netinet/in_mcast.c
+++ b/sys/netinet/in_mcast.c
@@ -2556,10 +2556,14 @@ out_in_multi_locked:
if (is_final) {
/* Remove the gap in the membership and filter array. */
+ KASSERT(RB_EMPTY(&imf->imf_sources),
+ ("%s: imf_sources not empty", __func__));
for (++idx; idx < imo->imo_num_memberships; ++idx) {
- imo->imo_membership[idx-1] = imo->imo_membership[idx];
- imo->imo_mfilters[idx-1] = imo->imo_mfilters[idx];
+ imo->imo_membership[idx - 1] = imo->imo_membership[idx];
+ imo->imo_mfilters[idx - 1] = imo->imo_mfilters[idx];
}
+ imf_init(&imo->imo_mfilters[idx - 1], MCAST_UNDEFINED,
+ MCAST_EXCLUDE);
imo->imo_num_memberships--;
}