Merge "SocketChannelTest#testSocket_NonBlock_BasicStatusAfterConnect fix"
diff --git a/ojluni/src/main/java/sun/nio/ch/SocketAdaptor.java b/ojluni/src/main/java/sun/nio/ch/SocketAdaptor.java
index 8a8b667..d2ebde5 100755
--- a/ojluni/src/main/java/sun/nio/ch/SocketAdaptor.java
+++ b/ojluni/src/main/java/sun/nio/ch/SocketAdaptor.java
@@ -158,6 +158,11 @@
}
public InetAddress getInetAddress() {
+ // Use #remoteAddress and do manual isConnected check. #getRemoteAddress() returns
+ // non-null result before connection.
+ if (!isConnected()) {
+ return null;
+ }
SocketAddress remote = sc.remoteAddress();
if (remote == null) {
return null;
@@ -176,6 +181,11 @@
}
public int getPort() {
+ // Use #remoteAddress and do manual isConnected check. #getRemoteAddress() returns
+ // non-null result before connection.
+ if (!isConnected()) {
+ return 0;
+ }
SocketAddress remote = sc.remoteAddress();
if (remote == null) {
return 0;