From 736b7944a1bcd1329049808ab77200342058fdfb Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 26 Apr 2013 09:37:23 +0000
Subject: [PATCH] Fix OPENDJ-882: NullPointerException in access log filtering code

---
 opends/src/server/org/opends/server/types/AddressMask.java                             |   10 ++++++----
 opends/tests/unit-tests-testng/src/server/org/opends/server/types/TestAddressMask.java |    7 +++++++
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/opends/src/server/org/opends/server/types/AddressMask.java b/opends/src/server/org/opends/server/types/AddressMask.java
index 068125f..ba716d9 100644
--- a/opends/src/server/org/opends/server/types/AddressMask.java
+++ b/opends/src/server/org/opends/server/types/AddressMask.java
@@ -107,11 +107,13 @@
   public static boolean maskListContains(final InetAddress address,
       final Collection<AddressMask> masks)
   {
-    for (final AddressMask mask : masks)
-    {
-      if (mask.match(address))
+    if (address != null) {
+      for (final AddressMask mask : masks)
       {
-        return true;
+        if (mask.match(address))
+        {
+          return true;
+        }
       }
     }
     return false;
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/types/TestAddressMask.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/types/TestAddressMask.java
index b23b53f..d3cb133 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/types/TestAddressMask.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/types/TestAddressMask.java
@@ -34,6 +34,7 @@
 
 import java.net.InetAddress;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 
 public class TestAddressMask extends TypesTestCase {
@@ -235,6 +236,12 @@
     assertEquals(rule, m.toString());
   }
 
+  @Test
+  public void testNullMatch() throws Exception {
+    AddressMask m = AddressMask.decode("*.*.*.*");
+    assertFalse(AddressMask.maskListContains(null, Arrays.asList(m)));
+  }
+
   private boolean match(String[] rules, String[] addrs, String[] hostNames)
       throws Exception
   {

--
Gitblit v1.10.0