summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorngie <ngie@FreeBSD.org>2017-07-18 16:58:52 +0000
committerngie <ngie@FreeBSD.org>2017-07-18 16:58:52 +0000
commit42332f0cea0b3b6e69f2cc3c89a8bf5cdc5a905f (patch)
treedda11e81abb5a2646b97544907f8d3c93391edf1
parentf13be0121a83c483135fcfaec664081da3ac1aba (diff)
downloadFreeBSD-src-42332f0cea0b3b6e69f2cc3c89a8bf5cdc5a905f.zip
FreeBSD-src-42332f0cea0b3b6e69f2cc3c89a8bf5cdc5a905f.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.c3
-rw-r--r--sys/netinet6/in6_mcast.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/netinet/in_mcast.c b/sys/netinet/in_mcast.c
index b159375..e7889e5 100644
--- a/sys/netinet/in_mcast.c
+++ b/sys/netinet/in_mcast.c
@@ -1014,9 +1014,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 19ead5d..204439a 100644
--- a/sys/netinet6/in6_mcast.c
+++ b/sys/netinet6/in6_mcast.c
@@ -1000,9 +1000,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. */
OpenPOWER on IntegriCloud