Repository: logging-log4j2
Updated Branches:
  refs/heads/master c8fd3c530 -> 86d8944fa


[LOG4J2-1061] Log4jMarker#remove(Marker) does not respect
org.slf4j.Marker contract.

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

Branch: refs/heads/master
Commit: 86d8944fa239255195bf0caed7af65b3c7e4cfaf
Parents: c8fd3c5
Author: ggregory <[email protected]>
Authored: Mon Jun 22 10:13:09 2015 -0700
Committer: ggregory <[email protected]>
Committed: Mon Jun 22 10:13:09 2015 -0700

----------------------------------------------------------------------
 .../java/org/apache/logging/slf4j/Log4jMarker.java   |  6 +++---
 .../java/org/apache/logging/slf4j/MarkerTest.java    | 15 +++++++++++++++
 src/changes/changes.xml                              |  3 +++
 3 files changed, 21 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86d8944f/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jMarker.java
----------------------------------------------------------------------
diff --git 
a/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jMarker.java 
b/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jMarker.java
index c2273f5..d57cf19 100644
--- a/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jMarker.java
+++ b/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jMarker.java
@@ -55,9 +55,9 @@ public class Log4jMarker implements Marker {
     }
 
     @Override
-    public boolean remove(final Marker marker) {
-        return this.marker.remove(MarkerManager.getMarker(marker.getName()));
-    }
+       public boolean remove(final Marker marker) {
+               return marker != null ? 
this.marker.remove(MarkerManager.getMarker(marker.getName())) : false;
+       }
 
     @Override
     public String getName() {

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86d8944f/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/MarkerTest.java
----------------------------------------------------------------------
diff --git 
a/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/MarkerTest.java 
b/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/MarkerTest.java
index ecc7c49..ce2fa1e 100644
--- a/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/MarkerTest.java
+++ b/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/MarkerTest.java
@@ -92,4 +92,19 @@ public class MarkerTest {
                 CHILD_MAKER_NAME, PARENT_MARKER_NAME, slf4jMarker, 
slf4jParent), slf4jMarker.contains(slf4jParent));
     }
 
+    @Test
+       public void testRemoveNullMarker() {
+               final org.slf4j.Marker slf4jMarker = 
org.slf4j.MarkerFactory.getMarker(CHILD_MAKER_NAME + "-CM");
+               final org.slf4j.Marker slf4jParent = 
org.slf4j.MarkerFactory.getMarker(PARENT_MARKER_NAME + "-CM");
+               slf4jMarker.add(slf4jParent);
+               final Marker log4jParent = 
MarkerManager.getMarker(PARENT_MARKER_NAME + "-CM");
+               final Marker log4jMarker = 
MarkerManager.getMarker(CHILD_MAKER_NAME + "-CM");
+               Log4jMarker log4jSlf4jParent = new Log4jMarker(log4jParent);
+               Log4jMarker log4jSlf4jMarker = new Log4jMarker(log4jMarker);
+               final org.slf4j.Marker nullMarker = null;
+               Assert.assertFalse(log4jSlf4jParent.remove(nullMarker));
+               Assert.assertFalse(log4jSlf4jMarker.remove(nullMarker));
+       }
+
+
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86d8944f/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index bb54d69..8d731b9 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -93,6 +93,9 @@
       <action issue="LOG4J2-1060" dev="ggregory" type="fix">
         Log4jMarker#contains(Marker) does not respect org.slf4j.Marker 
contract.
       </action>      
+      <action issue="LOG4J2-1061" dev="ggregory" type="fix">
+        Log4jMarker#remove(Marker) does not respect org.slf4j.Marker contract.
+      </action>            
       <action issue="LOG4J2-890" dev="ggregory" type="update" due-to="Hassan 
Kalaldeh, Robert Andersson, Remko Popma">
         log4j-web-2.1 should workaround a bug in JBOSS EAP 6.2.
       </action>

Reply via email to