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