jdk/src/java.base/unix/native/libnet/NetworkInterface.c
changeset 44927 d554736d963e
parent 43100 a7e3457672c7
child 45703 fc1eb80b198b
--- a/jdk/src/java.base/unix/native/libnet/NetworkInterface.c	Fri May 05 04:52:02 2017 +0000
+++ b/jdk/src/java.base/unix/native/libnet/NetworkInterface.c	Mon May 08 14:04:27 2017 +0100
@@ -361,7 +361,11 @@
                         ((struct sockaddr_in6*)addrP->addr)->sin6_addr);
                     jbyte caddr[16];
                     int i;
+                    unsigned int scopeid;
                     getInet6Address_ipaddress(env, iaObj, (char *)caddr);
+                    scopeid = (unsigned int)getInet6Address_scopeid(env, iaObj);
+                    if (scopeid != 0 && scopeid != ((struct sockaddr_in6*)addrP->addr)->sin6_scope_id)
+                        break;
                     i = 0;
                     while (i < 16) {
                         if (caddr[i] != bytes[i]) {