svn commit: r197130 - head/sys/netinet
Bruce M Simpson
bms at FreeBSD.org
Sat Sep 12 19:07:03 UTC 2009
Author: bms
Date: Sat Sep 12 19:07:03 2009
New Revision: 197130
URL: http://svn.freebsd.org/changeset/base/197130
Log:
Fix an obvious logic error in the IPv4 multicast leave processing,
where the filter mode vector was not updated correctly after the leave.
PR: 138691
Submitted by: Stef Walter
MFC after: 5 days
Modified:
head/sys/netinet/in_mcast.c
Modified: head/sys/netinet/in_mcast.c
==============================================================================
--- head/sys/netinet/in_mcast.c Sat Sep 12 18:55:15 2009 (r197129)
+++ head/sys/netinet/in_mcast.c Sat Sep 12 19:07:03 2009 (r197130)
@@ -2278,9 +2278,11 @@ out_imf_rollback:
imf_reap(imf);
if (is_final) {
- /* Remove the gap in the membership array. */
- for (++idx; idx < imo->imo_num_memberships; ++idx)
+ /* Remove the gap in the membership and filter array. */
+ 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_num_memberships--;
}
More information about the svn-src-all
mailing list