diff options
author | ngie <ngie@FreeBSD.org> | 2017-07-18 16:58:54 +0000 |
---|---|---|
committer | ngie <ngie@FreeBSD.org> | 2017-07-18 16:58:54 +0000 |
commit | e7e621e63e213cdae6d9050336e475465b1cef53 (patch) | |
tree | 3858b5390eea22dcfc4c623055b34edc7257cad2 | |
parent | 58befe6722641bb52acfcdcc1a1a1febc99af03b (diff) | |
download | FreeBSD-src-e7e621e63e213cdae6d9050336e475465b1cef53.zip FreeBSD-src-e7e621e63e213cdae6d9050336e475465b1cef53.tar.gz |
MFC r318255:
Add missing braces around MCAST_EXCLUDE check when KTR support is
compiled into the kernel
This ensures that .iss_asm (the number of ASM listeners) isn't incorrectly
decremented for MLD-layer source datagrams when inspecting im*s_st[1]
(the second state in the structure).
PR: 217509 [1]
-rw-r--r-- | sys/netinet/in_mcast.c | 3 | ||||
-rw-r--r-- | sys/netinet6/in6_mcast.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/netinet/in_mcast.c b/sys/netinet/in_mcast.c index c7fff94..78eddfe 100644 --- a/sys/netinet/in_mcast.c +++ b/sys/netinet/in_mcast.c @@ -1047,9 +1047,10 @@ inm_merge(struct in_multi *inm, /*const*/ struct in_mfilter *imf) /* Decrement ASM listener count on transition out of ASM mode. */ if (imf->imf_st[0] == MCAST_EXCLUDE && nsrc0 == 0) { if ((imf->imf_st[1] != MCAST_EXCLUDE) || - (imf->imf_st[1] == MCAST_EXCLUDE && nsrc1 > 0)) + (imf->imf_st[1] == MCAST_EXCLUDE && nsrc1 > 0)) { CTR1(KTR_IGMPV3, "%s: --asm on inm at t1", __func__); --inm->inm_st[1].iss_asm; + } } /* Increment ASM listener count on transition to ASM mode. */ diff --git a/sys/netinet6/in6_mcast.c b/sys/netinet6/in6_mcast.c index 4effb57..b34d02c 100644 --- a/sys/netinet6/in6_mcast.c +++ b/sys/netinet6/in6_mcast.c @@ -999,9 +999,10 @@ in6m_merge(struct in6_multi *inm, /*const*/ struct in6_mfilter *imf) /* Decrement ASM listener count on transition out of ASM mode. */ if (imf->im6f_st[0] == MCAST_EXCLUDE && nsrc0 == 0) { if ((imf->im6f_st[1] != MCAST_EXCLUDE) || - (imf->im6f_st[1] == MCAST_EXCLUDE && nsrc1 > 0)) + (imf->im6f_st[1] == MCAST_EXCLUDE && nsrc1 > 0)) { CTR1(KTR_MLD, "%s: --asm on inm at t1", __func__); --inm->in6m_st[1].iss_asm; + } } /* Increment ASM listener count on transition to ASM mode. */ |