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;