src/java.base/unix/native/libnio/ch/InheritedChannel.c
branchunixdomainchannels
changeset 59018 6d621f34e24a
parent 59007 27709bf817a5
child 59082 5e250ee9259e
--- a/src/java.base/unix/native/libnio/ch/InheritedChannel.c	Mon Nov 11 14:25:51 2019 +0000
+++ b/src/java.base/unix/native/libnio/ch/InheritedChannel.c	Mon Nov 11 20:27:27 2019 +0000
@@ -71,12 +71,12 @@
 JNIEXPORT jobject JNICALL
 Java_sun_nio_ch_InheritedChannel_peerAddressUnix(JNIEnv *env, jclass cla, jint fd)
 {
-    SOCKETADDRESS sa;
-    socklen_t len = sizeof(SOCKETADDRESS);
+    struct sockaddr_un sa;
+    socklen_t len = sizeof(struct sockaddr_un);
     jobject remote_sa = NULL;
 
-    if (getpeername(fd, &sa.sa, &len) == 0) {
-        if (sa.sa.sa_family == AF_UNIX) {
+    if (getpeername(fd, (struct sockaddr *)&sa, &len) == 0) {
+        if (sa.sun_family == AF_UNIX) {
             remote_sa = NET_SockaddrToUnixAddress(env, &sa);
         }
     }
@@ -90,7 +90,7 @@
     socklen_t len = sizeof(SOCKETADDRESS);
     jint remote_port = -1;
 
-    if (getpeername(fd, &sa.sa, &len) == 0) {
+    if (getpeername(fd, (struct sockaddr *)&sa.sa, &len) == 0) {
         if (matchFamilyInet(&sa)) {
             NET_SockaddrToInetAddress(env, &sa, (int *)&remote_port);
         }