--- old/src/java.base/unix/native/libnet/Inet6AddressImpl.c 2016-05-25 14:20:46.000000000 +0100 +++ new/src/java.base/unix/native/libnet/Inet6AddressImpl.c 2016-05-25 14:20:45.000000000 +0100 @@ -158,7 +158,10 @@ } name = (*env)->NewStringUTF(env, hostname); - CHECK_NULL_RETURN(name, NULL); + if (name == NULL) { + freeifaddrs(ifa); + return NULL; + } /* Iterate over the interfaces, and total up the number of IPv4 and IPv6 * addresses we have. Also keep a count of loopback addresses. We need to --- old/src/java.base/unix/native/libnet/NetworkInterface.c 2016-05-25 14:20:48.000000000 +0100 +++ new/src/java.base/unix/native/libnet/NetworkInterface.c 2016-05-25 14:20:47.000000000 +0100 @@ -243,6 +243,7 @@ if (name_utf == NULL) { if (!(*env)->ExceptionCheck(env)) JNU_ThrowOutOfMemoryError(env, NULL); + freeif(ifs); return NULL; } @@ -519,7 +520,7 @@ } if ((sock = openSocketWithFallback(env, name_utf)) < 0) { (*env)->ReleaseStringUTFChars(env, name, name_utf); - return JNI_FALSE; + return NULL; } if (!IS_NULL(addrArray)) { @@ -664,7 +665,7 @@ } // Create the array of InetAddresses - addrArr = (*env)->NewObjectArray(env, addr_count, ia_class, NULL); + addrArr = (*env)->NewObjectArray(env, addr_count, ia_class, NULL); if (addrArr == NULL) { return NULL; } @@ -1829,7 +1830,7 @@ strncpy(if2.lifr_name, ifname, sizeof(if2.lifr_name) - 1); if (ioctl(sock, SIOCGLIFFLAGS, (char *)&if2) < 0) { - return -1; + return -1; } *flags = if2.lifr_flags; @@ -1859,8 +1860,7 @@ "IPV6 Socket creation failed"); return -1; } - } - else{ // errno is not NOSUPPORT + } else { // errno is not NOSUPPORT NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "IPV4 Socket creation failed"); return -1; --- old/src/java.base/unix/native/libnet/net_util_md.c 2016-05-25 14:20:50.000000000 +0100 +++ new/src/java.base/unix/native/libnet/net_util_md.c 2016-05-25 14:20:49.000000000 +0100 @@ -95,8 +95,8 @@ CHECK_NULL(c); c = (*env)->NewGlobalRef(env, c); CHECK_NULL(c); - ni_defaultIndexID = (*env)->GetStaticFieldID( - env, c, "defaultIndex", "I"); + ni_defaultIndexID = (*env)->GetStaticFieldID(env, c, "defaultIndex", "I"); + CHECK_NULL(ni_defaultIndexID); ni_class = c; } int defaultIndex; @@ -118,8 +118,8 @@ CHECK_NULL_RETURN(c, 0); c = (*env)->NewGlobalRef(env, c); CHECK_NULL_RETURN(c, 0); - ni_defaultIndexID = (*env)->GetStaticFieldID(env, c, - "defaultIndex", "I"); + ni_defaultIndexID = (*env)->GetStaticFieldID(env, c, "defaultIndex", "I"); + CHECK_NULL_RETURN(ni_defaultIndexID, 0); ni_class = c; } defaultIndex = (*env)->GetStaticIntField(env, ni_class,