--- a/src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java Thu Jun 13 12:22:28 2019 +0530
+++ b/src/java.base/share/classes/sun/nio/ch/DatagramChannelImpl.java Thu Jun 13 09:10:51 2019 +0100
@@ -57,6 +57,7 @@
import sun.net.ResourceManager;
import sun.net.ext.ExtendedSocketOptions;
+import sun.net.util.IPAddressUtil;
/**
* An implementation of DatagramChannels.
@@ -527,14 +528,16 @@
} else {
// not connected
SecurityManager sm = System.getSecurityManager();
+ InetAddress ia = isa.getAddress();
if (sm != null) {
- InetAddress ia = isa.getAddress();
if (ia.isMulticastAddress()) {
sm.checkMulticast(ia);
} else {
sm.checkConnect(ia.getHostAddress(), isa.getPort());
}
}
+ if (ia.isLinkLocalAddress())
+ isa = IPAddressUtil.toScopedAddress(isa);
n = send(fd, src, isa);
if (blocking) {
while (IOStatus.okayToRetry(n) && isOpen()) {