Author: rgoers
Date: Fri Feb  3 18:16:30 2012
New Revision: 1240277

URL: http://svn.apache.org/viewvc?rev=1240277&view=rev
Log:
Protect against null network and mac address values

Modified:
    
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/helpers/UUIDUtil.java

Modified: 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/helpers/UUIDUtil.java
URL: 
http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/helpers/UUIDUtil.java?rev=1240277&r1=1240276&r2=1240277&view=diff
==============================================================================
--- 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/helpers/UUIDUtil.java
 (original)
+++ 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/main/java/org/apache/logging/log4j/core/helpers/UUIDUtil.java
 Fri Feb  3 18:16:30 2012
@@ -66,19 +66,24 @@ public final class UUIDUtil {
         byte[] mac = null;
         try {
             InetAddress address = InetAddress.getLocalHost();
-
             try {
                 NetworkInterface ni = 
NetworkInterface.getByInetAddress(address);
-                if (!ni.isLoopback() && ni.isUp()) {
+                if (ni != null && !ni.isLoopback() && ni.isUp()) {
                     Method method = 
ni.getClass().getMethod("getHardwareAddress");
-                    mac = (byte[]) method.invoke(ni);
-                } else {
+                    if (method != null) {
+                        mac = (byte[]) method.invoke(ni);
+                    }
+                }
+
+                if (mac == null) {
                     Enumeration<NetworkInterface> enumeration = 
NetworkInterface.getNetworkInterfaces();
                     while (enumeration.hasMoreElements() && mac == null) {
                         ni = enumeration.nextElement();
-                        if (ni.isUp() && !ni.isLoopback()) {
+                        if (ni != null && ni.isUp() && !ni.isLoopback()) {
                             Method method = 
ni.getClass().getMethod("getHardwareAddress");
-                            mac = (byte[]) method.invoke(ni);
+                            if (method != null) {
+                                mac = (byte[]) method.invoke(ni);
+                            }
                         }
                     }
                 }


Reply via email to