6698625: InetAddress.getLocalHost() failed in returning chinese local host name
Remove unnecessary and incorrect NewStringUTF Reviewed-by: michaelm
This commit is contained in:
parent
b572eb5b2b
commit
f2e8ba353c
@ -138,7 +138,6 @@ JNIEXPORT jobjectArray JNICALL
|
|||||||
Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
||||||
jstring host) {
|
jstring host) {
|
||||||
const char *hostname;
|
const char *hostname;
|
||||||
jobject name;
|
|
||||||
jobjectArray ret = 0;
|
jobjectArray ret = 0;
|
||||||
struct hostent res, *hp = 0;
|
struct hostent res, *hp = 0;
|
||||||
char buf[HENT_BUF_SIZE];
|
char buf[HENT_BUF_SIZE];
|
||||||
@ -210,12 +209,6 @@ Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
|||||||
addrp++;
|
addrp++;
|
||||||
}
|
}
|
||||||
|
|
||||||
name = (*env)->NewStringUTF(env, hostname);
|
|
||||||
|
|
||||||
if (IS_NULL(name)) {
|
|
||||||
goto cleanupAndReturn;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = (*env)->NewObjectArray(env, i, ni_iacls, NULL);
|
ret = (*env)->NewObjectArray(env, i, ni_iacls, NULL);
|
||||||
if (IS_NULL(ret)) {
|
if (IS_NULL(ret)) {
|
||||||
/* we may have memory to free at the end of this */
|
/* we may have memory to free at the end of this */
|
||||||
@ -231,7 +224,7 @@ Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
|||||||
}
|
}
|
||||||
(*env)->SetIntField(env, iaObj, ni_iaaddressID,
|
(*env)->SetIntField(env, iaObj, ni_iaaddressID,
|
||||||
ntohl((*addrp)->s_addr));
|
ntohl((*addrp)->s_addr));
|
||||||
(*env)->SetObjectField(env, iaObj, ni_iahostID, name);
|
(*env)->SetObjectField(env, iaObj, ni_iahostID, host);
|
||||||
(*env)->SetObjectArrayElement(env, ret, i, iaObj);
|
(*env)->SetObjectArrayElement(env, ret, i, iaObj);
|
||||||
addrp++;
|
addrp++;
|
||||||
i++;
|
i++;
|
||||||
|
@ -142,7 +142,6 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
|||||||
jstring host) {
|
jstring host) {
|
||||||
const char *hostname;
|
const char *hostname;
|
||||||
jobjectArray ret = 0;
|
jobjectArray ret = 0;
|
||||||
jobject name;
|
|
||||||
int retLen = 0;
|
int retLen = 0;
|
||||||
jclass byteArrayCls;
|
jclass byteArrayCls;
|
||||||
jboolean preferIPv6Address;
|
jboolean preferIPv6Address;
|
||||||
@ -310,11 +309,6 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
|||||||
inet6Index = inetCount;
|
inet6Index = inetCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
name = (*env)->NewStringUTF(env, hostname);
|
|
||||||
if (IS_NULL(name)) {
|
|
||||||
ret = NULL;
|
|
||||||
goto cleanupAndReturn;
|
|
||||||
}
|
|
||||||
while (iterator != NULL) {
|
while (iterator != NULL) {
|
||||||
if (iterator->ai_family == AF_INET) {
|
if (iterator->ai_family == AF_INET) {
|
||||||
jobject iaObj = (*env)->NewObject(env, ni_ia4cls, ni_ia4ctrID);
|
jobject iaObj = (*env)->NewObject(env, ni_ia4cls, ni_ia4ctrID);
|
||||||
@ -324,7 +318,7 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
|||||||
}
|
}
|
||||||
(*env)->SetIntField(env, iaObj, ni_iaaddressID,
|
(*env)->SetIntField(env, iaObj, ni_iaaddressID,
|
||||||
ntohl(((struct sockaddr_in*)iterator->ai_addr)->sin_addr.s_addr));
|
ntohl(((struct sockaddr_in*)iterator->ai_addr)->sin_addr.s_addr));
|
||||||
(*env)->SetObjectField(env, iaObj, ni_iahostID, name);
|
(*env)->SetObjectField(env, iaObj, ni_iahostID, host);
|
||||||
(*env)->SetObjectArrayElement(env, ret, inetIndex, iaObj);
|
(*env)->SetObjectArrayElement(env, ret, inetIndex, iaObj);
|
||||||
inetIndex++;
|
inetIndex++;
|
||||||
} else if (iterator->ai_family == AF_INET6) {
|
} else if (iterator->ai_family == AF_INET6) {
|
||||||
@ -355,7 +349,7 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
|||||||
(*env)->SetBooleanField(env, iaObj, ia6_scopeidsetID, JNI_TRUE);
|
(*env)->SetBooleanField(env, iaObj, ia6_scopeidsetID, JNI_TRUE);
|
||||||
}
|
}
|
||||||
(*env)->SetObjectField(env, iaObj, ni_ia6ipaddressID, ipaddress);
|
(*env)->SetObjectField(env, iaObj, ni_ia6ipaddressID, ipaddress);
|
||||||
(*env)->SetObjectField(env, iaObj, ni_iahostID, name);
|
(*env)->SetObjectField(env, iaObj, ni_iahostID, host);
|
||||||
(*env)->SetObjectArrayElement(env, ret, inet6Index, iaObj);
|
(*env)->SetObjectArrayElement(env, ret, inet6Index, iaObj);
|
||||||
inet6Index++;
|
inet6Index++;
|
||||||
}
|
}
|
||||||
|
@ -137,7 +137,6 @@ JNIEXPORT jobjectArray JNICALL
|
|||||||
Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
||||||
jstring host) {
|
jstring host) {
|
||||||
const char *hostname;
|
const char *hostname;
|
||||||
jobject name;
|
|
||||||
struct hostent *hp;
|
struct hostent *hp;
|
||||||
unsigned int addr[4];
|
unsigned int addr[4];
|
||||||
|
|
||||||
@ -229,10 +228,6 @@ Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
|||||||
addrp++;
|
addrp++;
|
||||||
}
|
}
|
||||||
|
|
||||||
name = (*env)->NewStringUTF(env, hostname);
|
|
||||||
if (IS_NULL(name)) {
|
|
||||||
goto cleanupAndReturn;
|
|
||||||
}
|
|
||||||
ret = (*env)->NewObjectArray(env, i, ni_iacls, NULL);
|
ret = (*env)->NewObjectArray(env, i, ni_iacls, NULL);
|
||||||
|
|
||||||
if (IS_NULL(ret)) {
|
if (IS_NULL(ret)) {
|
||||||
@ -249,7 +244,7 @@ Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
|||||||
}
|
}
|
||||||
(*env)->SetIntField(env, iaObj, ni_iaaddressID,
|
(*env)->SetIntField(env, iaObj, ni_iaaddressID,
|
||||||
ntohl((*addrp)->s_addr));
|
ntohl((*addrp)->s_addr));
|
||||||
(*env)->SetObjectField(env, iaObj, ni_iahostID, name);
|
(*env)->SetObjectField(env, iaObj, ni_iahostID, host);
|
||||||
(*env)->SetObjectArrayElement(env, ret, i, iaObj);
|
(*env)->SetObjectArrayElement(env, ret, i, iaObj);
|
||||||
addrp++;
|
addrp++;
|
||||||
i++;
|
i++;
|
||||||
|
@ -86,7 +86,6 @@ JNIEXPORT jobjectArray JNICALL
|
|||||||
Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
||||||
jstring host) {
|
jstring host) {
|
||||||
const char *hostname;
|
const char *hostname;
|
||||||
jobject name;
|
|
||||||
jobjectArray ret = 0;
|
jobjectArray ret = 0;
|
||||||
int retLen = 0;
|
int retLen = 0;
|
||||||
jboolean preferIPv6Address;
|
jboolean preferIPv6Address;
|
||||||
@ -237,12 +236,6 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
|||||||
inet6Index = inetCount;
|
inet6Index = inetCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
name = (*env)->NewStringUTF(env, hostname);
|
|
||||||
if (IS_NULL(name)) {
|
|
||||||
ret = NULL;
|
|
||||||
goto cleanupAndReturn;
|
|
||||||
}
|
|
||||||
|
|
||||||
while (iterator != NULL) {
|
while (iterator != NULL) {
|
||||||
if (iterator->ai_family == AF_INET) {
|
if (iterator->ai_family == AF_INET) {
|
||||||
jobject iaObj = (*env)->NewObject(env, ni_ia4cls, ni_ia4ctrID);
|
jobject iaObj = (*env)->NewObject(env, ni_ia4cls, ni_ia4ctrID);
|
||||||
@ -252,7 +245,7 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
|||||||
}
|
}
|
||||||
(*env)->SetIntField(env, iaObj, ni_iaaddressID,
|
(*env)->SetIntField(env, iaObj, ni_iaaddressID,
|
||||||
ntohl(((struct sockaddr_in*)iterator->ai_addr)->sin_addr.s_addr));
|
ntohl(((struct sockaddr_in*)iterator->ai_addr)->sin_addr.s_addr));
|
||||||
(*env)->SetObjectField(env, iaObj, ni_iahostID, name);
|
(*env)->SetObjectField(env, iaObj, ni_iahostID, host);
|
||||||
(*env)->SetObjectArrayElement(env, ret, inetIndex, iaObj);
|
(*env)->SetObjectArrayElement(env, ret, inetIndex, iaObj);
|
||||||
inetIndex ++;
|
inetIndex ++;
|
||||||
} else if (iterator->ai_family == AF_INET6) {
|
} else if (iterator->ai_family == AF_INET6) {
|
||||||
@ -276,7 +269,7 @@ Java_java_net_Inet6AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
|
|||||||
(*env)->SetBooleanField(env, iaObj, ia6_scopeidsetID, JNI_TRUE);
|
(*env)->SetBooleanField(env, iaObj, ia6_scopeidsetID, JNI_TRUE);
|
||||||
}
|
}
|
||||||
(*env)->SetObjectField(env, iaObj, ni_ia6ipaddressID, ipaddress);
|
(*env)->SetObjectField(env, iaObj, ni_ia6ipaddressID, ipaddress);
|
||||||
(*env)->SetObjectField(env, iaObj, ni_iahostID, name);
|
(*env)->SetObjectField(env, iaObj, ni_iahostID, host);
|
||||||
(*env)->SetObjectArrayElement(env, ret, inet6Index, iaObj);
|
(*env)->SetObjectArrayElement(env, ret, inet6Index, iaObj);
|
||||||
inet6Index ++;
|
inet6Index ++;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user