summaryrefslogtreecommitdiffstats
path: root/sys/netinet6
diff options
context:
space:
mode:
authorae <ae@FreeBSD.org>2016-04-08 11:13:24 +0000
committerae <ae@FreeBSD.org>2016-04-08 11:13:24 +0000
commit3f81fe2ce06b0be2c179e60d88d8316d47f0c5a2 (patch)
treeea82fc43e131622e3a3fe43e1272bf3cca5a668e /sys/netinet6
parent7dbfd5ad027d5eede9963cdaf6b072e4981ef62b (diff)
downloadFreeBSD-src-3f81fe2ce06b0be2c179e60d88d8316d47f0c5a2.zip
FreeBSD-src-3f81fe2ce06b0be2c179e60d88d8316d47f0c5a2.tar.gz
Fix regression introduced in r296986.
Currently we don't keep zoneid in in6_ifaddr structure, because there is still some code, that doesn't properly initialize sin6_scope_id, but some functions use sa_equal() for addresses comparison. sa_equal() compares full sockaddr_in6 structures and such comparison will fail. For now use zero zoneid in in6ifa_ifwithaddr(). It is safe, because used address is in embedded form. In future we will use zoneid, so mark it with XXX comment. Reported by: kp Tested by: kp
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/in6_src.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet6/in6_src.c b/sys/netinet6/in6_src.c
index 40b4723..54c0a0a 100644
--- a/sys/netinet6/in6_src.c
+++ b/sys/netinet6/in6_src.c
@@ -255,7 +255,7 @@ in6_selectsrc(uint32_t fibnum, struct sockaddr_in6 *dstsock,
* ancillary data.
*/
if ((inp->inp_flags & INP_BINDANY) == 0) {
- ia = in6ifa_ifwithaddr(&tmp, odstzone);
+ ia = in6ifa_ifwithaddr(&tmp, 0 /* XXX */);
if (ia == NULL || (ia->ia6_flags & (IN6_IFF_ANYCAST |
IN6_IFF_NOTREADY))) {
if (ia != NULL)
OpenPOWER on IntegriCloud