From fb8deb327d7f9326734ae88d5e47b7a2162c1e32 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Wed, 25 Jan 2012 02:28:20 +0000 Subject: [PATCH] * Addresses: Fix NPE if no interfaces found http://forum.i2p/viewtopic.php?t=6365 --- core/java/src/net/i2p/util/Addresses.java | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/core/java/src/net/i2p/util/Addresses.java b/core/java/src/net/i2p/util/Addresses.java index 97e19cf541..0bf7df7056 100644 --- a/core/java/src/net/i2p/util/Addresses.java +++ b/core/java/src/net/i2p/util/Addresses.java @@ -75,16 +75,19 @@ public abstract class Addresses { } catch (UnknownHostException e) {} try { - for(Enumeration<NetworkInterface> ifcs = NetworkInterface.getNetworkInterfaces(); ifcs.hasMoreElements();) { - NetworkInterface ifc = ifcs.nextElement(); - for(Enumeration<InetAddress> addrs = ifc.getInetAddresses(); addrs.hasMoreElements();) { - InetAddress addr = addrs.nextElement(); - if (addr instanceof Inet4Address) - haveIPv4 = true; - else - haveIPv6 = true; - if (shouldInclude(addr, includeLocal, includeIPv6)) - rv.add(addr.getHostAddress()); + Enumeration<NetworkInterface> ifcs = NetworkInterface.getNetworkInterfaces(); + if (ifcs != null) { + while (ifcs.hasMoreElements()) { + NetworkInterface ifc = ifcs.nextElement(); + for(Enumeration<InetAddress> addrs = ifc.getInetAddresses(); addrs.hasMoreElements();) { + InetAddress addr = addrs.nextElement(); + if (addr instanceof Inet4Address) + haveIPv4 = true; + else + haveIPv6 = true; + if (shouldInclude(addr, includeLocal, includeIPv6)) + rv.add(addr.getHostAddress()); + } } } } catch (SocketException e) {} -- GitLab