diff options
Diffstat (limited to 'net/ipv4/igmp.c')
| -rw-r--r-- | net/ipv4/igmp.c | 4 | 
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index f1d27f6c935..d577199eabd 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c @@ -767,7 +767,7 @@ static int igmp_xmarksources(struct ip_mc_list *pmc, int nsrcs, __be32 *srcs)  			break;  		for (i=0; i<nsrcs; i++) {  			/* skip inactive filters */ -			if (pmc->sfcount[MCAST_INCLUDE] || +			if (psf->sf_count[MCAST_INCLUDE] ||  			    pmc->sfcount[MCAST_EXCLUDE] !=  			    psf->sf_count[MCAST_EXCLUDE])  				continue; @@ -1718,7 +1718,7 @@ static int ip_mc_add_src(struct in_device *in_dev, __be32 *pmca, int sfmode,  		pmc->sfcount[sfmode]--;  		for (j=0; j<i; j++) -			(void) ip_mc_del1_src(pmc, sfmode, &psfsrc[i]); +			(void) ip_mc_del1_src(pmc, sfmode, &psfsrc[j]);  	} else if (isexclude != (pmc->sfcount[MCAST_EXCLUDE] != 0)) {  #ifdef CONFIG_IP_MULTICAST  		struct ip_sf_list *psf;  |