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-head mailing list