< prev index next >
src/java.base/unix/native/libnet/NetworkInterface.c
Print this page
*** 241,250 ****
--- 241,251 ----
name_utf = (*env)->GetStringUTFChars(env, name, &isCopy);
if (name_utf == NULL) {
if (!(*env)->ExceptionCheck(env))
JNU_ThrowOutOfMemoryError(env, NULL);
+ freeif(ifs);
return NULL;
}
// Search the list of interface based on name
curr = ifs;
*** 517,527 ****
JNU_ThrowOutOfMemoryError(env, NULL);
return NULL;
}
if ((sock = openSocketWithFallback(env, name_utf)) < 0) {
(*env)->ReleaseStringUTFChars(env, name, name_utf);
! return JNI_FALSE;
}
if (!IS_NULL(addrArray)) {
(*env)->GetByteArrayRegion(env, addrArray, 0, 4, caddr);
addr = ((caddr[0]<<24) & 0xff000000);
--- 518,528 ----
JNU_ThrowOutOfMemoryError(env, NULL);
return NULL;
}
if ((sock = openSocketWithFallback(env, name_utf)) < 0) {
(*env)->ReleaseStringUTFChars(env, name, name_utf);
! return NULL;
}
if (!IS_NULL(addrArray)) {
(*env)->GetByteArrayRegion(env, addrArray, 0, 4, caddr);
addr = ((caddr[0]<<24) & 0xff000000);
*** 1857,1868 ****
if ((sock = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"IPV6 Socket creation failed");
return -1;
}
! }
! else{ // errno is not NOSUPPORT
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"IPV4 Socket creation failed");
return -1;
}
}
--- 1858,1868 ----
if ((sock = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"IPV6 Socket creation failed");
return -1;
}
! } else { // errno is not NOSUPPORT
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"IPV4 Socket creation failed");
return -1;
}
}
< prev index next >