diff options
Diffstat (limited to 'net/ipv4/igmp.c')
-rw-r--r-- | net/ipv4/igmp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index 8b6d3939e1e6..c6247fc84060 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c | |||
@@ -1908,8 +1908,11 @@ int ip_mc_msfilter(struct sock *sk, struct ip_msfilter *msf, int ifindex) | |||
1908 | sock_kfree_s(sk, newpsl, IP_SFLSIZE(newpsl->sl_max)); | 1908 | sock_kfree_s(sk, newpsl, IP_SFLSIZE(newpsl->sl_max)); |
1909 | goto done; | 1909 | goto done; |
1910 | } | 1910 | } |
1911 | } else | 1911 | } else { |
1912 | newpsl = NULL; | 1912 | newpsl = NULL; |
1913 | (void) ip_mc_add_src(in_dev, &msf->imsf_multiaddr, | ||
1914 | msf->imsf_fmode, 0, NULL, 0); | ||
1915 | } | ||
1913 | psl = pmc->sflist; | 1916 | psl = pmc->sflist; |
1914 | if (psl) { | 1917 | if (psl) { |
1915 | (void) ip_mc_del_src(in_dev, &msf->imsf_multiaddr, pmc->sfmode, | 1918 | (void) ip_mc_del_src(in_dev, &msf->imsf_multiaddr, pmc->sfmode, |