diff options
author | Elliott Hughes <enh@google.com> | 2013-03-21 23:55:03 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2013-03-21 23:55:03 -0700 |
commit | d52f91aad5c154c72906f62336fd9ef0a7df127d (patch) | |
tree | 8a7a2db4e099577fbe7a88e997f305fa42a30027 | |
parent | 48caff24e226480232f4ace7f9f8fbd7705946dd (diff) |
Fix libcore translation of AF_UNSPEC InetAddress instances.
An AF_UNSPEC sockaddr may not have any data, but it does have two bytes
of ss_family.
Change-Id: Ia2423989db1a4094fc9bbfdb5565ee2074743747
-rw-r--r-- | luni/src/main/native/NetworkUtilities.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/luni/src/main/native/NetworkUtilities.cpp b/luni/src/main/native/NetworkUtilities.cpp index de072012e1..72153062f1 100644 --- a/luni/src/main/native/NetworkUtilities.cpp +++ b/luni/src/main/native/NetworkUtilities.cpp @@ -113,6 +113,7 @@ static bool inetAddressToSockaddr(JNIEnv* env, jobject inetAddress, int port, so static jfieldID familyFid = env->GetFieldID(JniConstants::inetAddressClass, "family", "I"); ss.ss_family = env->GetIntField(inetAddress, familyFid); if (ss.ss_family == AF_UNSPEC) { + sa_len = sizeof(ss.ss_family); return true; // Job done! } |