[LOG4J2-1559] Check proper value in LevelRangeFilter. Closes #42. 

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/3c2148e8
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/3c2148e8
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/3c2148e8

Branch: refs/heads/LOG4J2-1349-gcfree-threadcontext
Commit: 3c2148e81e7351f2108f3f5a2e26af8ea49804d9
Parents: 5c99b6b
Author: ggregory <ggreg...@apache.org>
Authored: Sat Sep 3 14:51:56 2016 -0400
Committer: ggregory <ggreg...@apache.org>
Committed: Sat Sep 3 14:51:56 2016 -0400

----------------------------------------------------------------------
 .../apache/logging/log4j/core/filter/LevelRangeFilter.java  | 2 +-
 .../logging/log4j/core/filter/LevelRangeFilterTest.java     | 9 +++++++++
 src/changes/changes.xml                                     | 3 +++
 3 files changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/3c2148e8/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/LevelRangeFilter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/LevelRangeFilter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/LevelRangeFilter.java
index 58cb257..2530c41 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/LevelRangeFilter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/LevelRangeFilter.java
@@ -61,7 +61,7 @@ public final class LevelRangeFilter extends AbstractFilter {
             @PluginAttribute("onMismatch") final Result mismatch) {
             // @formatter:on
         final Level actualMinLevel = minLevel == null ? Level.ERROR : minLevel;
-        final Level actualMaxLevel = minLevel == null ? Level.ERROR : maxLevel;
+        final Level actualMaxLevel = maxLevel == null ? Level.ERROR : maxLevel;
         final Result onMatch = match == null ? Result.NEUTRAL : match;
         final Result onMismatch = mismatch == null ? Result.DENY : mismatch;
         return new LevelRangeFilter(actualMinLevel, actualMaxLevel, onMatch, 
onMismatch);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/3c2148e8/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/LevelRangeFilterTest.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/LevelRangeFilterTest.java
 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/LevelRangeFilterTest.java
index 4deb468..b99c6a9 100644
--- 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/LevelRangeFilterTest.java
+++ 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/LevelRangeFilterTest.java
@@ -48,4 +48,13 @@ public class LevelRangeFilterTest {
                 .build();
         assertSame(Filter.Result.NEUTRAL, filter.filter(event));
     }
+
+    @Test
+    public void testMinimumOnlyLevel() {
+        final LevelRangeFilter filter = 
LevelRangeFilter.createFilter(Level.ERROR, null, null, null);
+        filter.start();
+        assertTrue(filter.isStarted());
+        assertSame(Filter.Result.NEUTRAL, filter.filter(null, Level.ERROR, 
null, (Object) null, (Throwable) null));
+    }
+    
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/3c2148e8/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 994c0e1..f8fef10 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,6 +24,9 @@
   </properties>
   <body>
     <release version="2.7" date="2016-MM-DD" description="GA Release 2.7">
+      <action issue="LOG4J2-1559" dev="ggregory" type="fix" due-to="Andrey 
Plotkin">
+        NPE in Level.isInRange.
+      </action>
       <action issue="LOG4J2-1511" dev="ggregory" type="fix" due-to="Srikanth 
Surukuntu">
         DynamicThresholdFilter filters incorrectly when params are passed as 
individual arguments instead of varargs.
       </action>

Reply via email to