summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHajimu UMEMOTO <ume@FreeBSD.org>2015-12-18 17:57:31 +0000
committerHajimu UMEMOTO <ume@FreeBSD.org>2015-12-18 17:57:31 +0000
commit844eacfe0fada02e7aa8f879289d3794e656d24f (patch)
treed2f359462aaeec3994a21961c114ae852984362d
parentb848a37d4eddb432629a799713cf6fb6f0fd8c3c (diff)
Notes
-rw-r--r--lib/libc/net/getaddrinfo.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/libc/net/getaddrinfo.c b/lib/libc/net/getaddrinfo.c
index b37e4fa6dfe1e..ed1a388768d79 100644
--- a/lib/libc/net/getaddrinfo.c
+++ b/lib/libc/net/getaddrinfo.c
@@ -797,10 +797,9 @@ match_addrselectpolicy(struct sockaddr *addr, struct policyhead *head)
memset(&key, 0, sizeof(key));
key.sin6_family = AF_INET6;
key.sin6_len = sizeof(key);
- key.sin6_addr.s6_addr[10] = 0xff;
- key.sin6_addr.s6_addr[11] = 0xff;
- memcpy(&key.sin6_addr.s6_addr[12],
- &((struct sockaddr_in *)addr)->sin_addr, 4);
+ _map_v4v6_address(
+ (char *)&((struct sockaddr_in *)addr)->sin_addr,
+ (char *)&key.sin6_addr);
break;
default:
return(NULL);