From 2dc9d119b19db57ce1b6f652a2374acef46937a1 Mon Sep 17 00:00:00 2001 From: Norman Maurer Date: Wed, 15 Feb 2017 19:43:52 +0100 Subject: [PATCH] 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] --- common/src/main/java/io/netty/util/NetUtil.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/common/src/main/java/io/netty/util/NetUtil.java b/common/src/main/java/io/netty/util/NetUtil.java index d4f2354f10..ed48665f42 100644 --- a/common/src/main/java/io/netty/util/NetUtil.java +++ b/common/src/main/java/io/netty/util/NetUtil.java @@ -154,11 +154,14 @@ public final class NetUtil { // Retrieve the list of available network interfaces. List ifaces = new ArrayList(); try { - for (Enumeration 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 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) {