Page MenuHomeFreeBSD

D19872.id56032.diff
No OneTemporary

D19872.id56032.diff

Index: sys/netinet/in_mcast.c
===================================================================
--- sys/netinet/in_mcast.c
+++ sys/netinet/in_mcast.c
@@ -2556,10 +2556,14 @@
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--;
}

File Metadata

Mime Type
text/plain
Expires
Thu, Aug 27, 12:47 AM (2 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37339225
Default Alt Text
D19872.id56032.diff (756 B)

Event Timeline