(original) (raw)

diff --git src/share/classes/java/net/InetAddress.java src/share/classes/java/net/InetAddress.java index 8758cab..4cbf890 100644 --- src/share/classes/java/net/InetAddress.java +++ src/share/classes/java/net/InetAddress.java @@ -1443,9 +1443,17 @@ class InetAddress implements java.io.Serializable { uhe2.initCause(uhe); throw uhe2; } - cachedLocalHost = localAddrs[0]; + for (InetAddress addr : localAddrs) { + if (!addr.isLinkLocalAddress()) { + cachedLocalHost = addr; + break; + } + } + if (cachedLocalHost == null) { + cachedLocalHost = localAddrs[0]; + } cacheTime = now; - ret = localAddrs[0]; + ret = cachedLocalHost; } } return ret;