diff options
author | tuexen <tuexen@FreeBSD.org> | 2010-09-01 16:11:26 +0000 |
---|---|---|
committer | tuexen <tuexen@FreeBSD.org> | 2010-09-01 16:11:26 +0000 |
commit | 4d30a13146156ec27ba9e296f9f70c7f5ae4e290 (patch) | |
tree | a78406516cac2829d2440217ce1826627863a7cd /sys | |
parent | 963045b790aad12cd67164232c75587c2955c1f0 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/netinet/sctp_pcb.c | 2 |
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; } |