summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2013-03-21 23:55:03 -0700
committerElliott Hughes <enh@google.com>2013-03-21 23:55:03 -0700
commitd52f91aad5c154c72906f62336fd9ef0a7df127d (patch)
tree8a7a2db4e099577fbe7a88e997f305fa42a30027
parent48caff24e226480232f4ace7f9f8fbd7705946dd (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.cpp1
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!
}