Guard against having NetworkInterface.getNetworkInterfaces() return null
Motivation: NetworkInterface.getNetworkInterfaces() may return null if no network interfaces are found. We should guard against it. Modifications: Check for null return value. Result: Fixes [#6384]
This commit is contained in:
parent
8a3a3245df
commit
1843b31885
@ -163,11 +163,14 @@ public final class NetUtil {
|
||||
// Retrieve the list of available network interfaces.
|
||||
List<NetworkInterface> ifaces = new ArrayList<NetworkInterface>();
|
||||
try {
|
||||
for (Enumeration<NetworkInterface> i = NetworkInterface.getNetworkInterfaces(); i.hasMoreElements();) {
|
||||
NetworkInterface iface = i.nextElement();
|
||||
// Use the interface with proper INET addresses only.
|
||||
if (SocketUtils.addressesFromNetworkInterface(iface).hasMoreElements()) {
|
||||
ifaces.add(iface);
|
||||
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
|
||||
if (interfaces != null) {
|
||||
while (interfaces.hasMoreElements()) {
|
||||
NetworkInterface iface = interfaces.nextElement();
|
||||
// Use the interface with proper INET addresses only.
|
||||
if (SocketUtils.addressesFromNetworkInterface(iface).hasMoreElements()) {
|
||||
ifaces.add(iface);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SocketException e) {
|
||||
|
@ -52,14 +52,17 @@ public final class MacAddressUtil {
|
||||
// Retrieve the list of available network interfaces.
|
||||
Map<NetworkInterface, InetAddress> ifaces = new LinkedHashMap<NetworkInterface, InetAddress>();
|
||||
try {
|
||||
for (Enumeration<NetworkInterface> i = NetworkInterface.getNetworkInterfaces(); i.hasMoreElements();) {
|
||||
NetworkInterface iface = i.nextElement();
|
||||
// Use the interface with proper INET addresses only.
|
||||
Enumeration<InetAddress> addrs = SocketUtils.addressesFromNetworkInterface(iface);
|
||||
if (addrs.hasMoreElements()) {
|
||||
InetAddress a = addrs.nextElement();
|
||||
if (!a.isLoopbackAddress()) {
|
||||
ifaces.put(iface, a);
|
||||
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
|
||||
if (interfaces != null) {
|
||||
while (interfaces.hasMoreElements()) {
|
||||
NetworkInterface iface = interfaces.nextElement();
|
||||
// Use the interface with proper INET addresses only.
|
||||
Enumeration<InetAddress> addrs = SocketUtils.addressesFromNetworkInterface(iface);
|
||||
if (addrs.hasMoreElements()) {
|
||||
InetAddress a = addrs.nextElement();
|
||||
if (!a.isLoopbackAddress()) {
|
||||
ifaces.put(iface, a);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user