summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authortuexen <tuexen@FreeBSD.org>2010-09-01 16:11:26 +0000
committertuexen <tuexen@FreeBSD.org>2010-09-01 16:11:26 +0000
commit4d30a13146156ec27ba9e296f9f70c7f5ae4e290 (patch)
treea78406516cac2829d2440217ce1826627863a7cd /sys/netinet
parent963045b790aad12cd67164232c75587c2955c1f0 (diff)
downloadFreeBSD-src-4d30a13146156ec27ba9e296f9f70c7f5ae4e290.zip
FreeBSD-src-4d30a13146156ec27ba9e296f9f70c7f5ae4e290.tar.gz
Fix a bug which results in peer IPv4 addresses a.b.c.d with 224<=d<=239
incorrectly being detected as multicast addresses on little endian systems. MFC after: 2 weeks
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/sctp_pcb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c
index 846f55d..dd469cb 100644
--- a/sys/netinet/sctp_pcb.c
+++ b/sys/netinet/sctp_pcb.c
@@ -5988,7 +5988,7 @@ sctp_load_addresses_from_init(struct sctp_tcb *stcb, struct mbuf *m,
}
p4 = (struct sctp_ipv4addr_param *)phdr;
sin.sin_addr.s_addr = p4->addr;
- if (IN_MULTICAST(sin.sin_addr.s_addr)) {
+ if (IN_MULTICAST(ntohl(sin.sin_addr.s_addr))) {
/* Skip multi-cast addresses */
goto next_param;
}
OpenPOWER on IntegriCloud