This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch release-2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/release-2.x by this push:
     new 5fc1e4957d [LOG4J2-3471] log4j-1.2-api-2.17.2 throws exception while 
removing appender with name as null.
5fc1e4957d is described below

commit 5fc1e4957d9ba622d83bcf29c0aa3c54c34e19bf
Author: Gary Gregory <[email protected]>
AuthorDate: Thu Apr 7 16:46:46 2022 -0400

    [LOG4J2-3471] log4j-1.2-api-2.17.2 throws exception while removing
    appender with name as null.
    
    Make internal use of the ConcurrentHashMap null safe.
---
 .../apache/log4j/helpers/AppenderAttachableImpl.java  | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git 
a/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/AppenderAttachableImpl.java
 
b/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/AppenderAttachableImpl.java
index 3b72848422..42086f8d69 100644
--- 
a/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/AppenderAttachableImpl.java
+++ 
b/log4j-1.2-api/src/main/java/org/apache/log4j/helpers/AppenderAttachableImpl.java
@@ -38,10 +38,10 @@ public class AppenderAttachableImpl implements 
AppenderAttachable {
     protected Vector appenderList;
 
     @Override
-    public void addAppender(final Appender newAppender) {
-        if (newAppender != null) {
+    public void addAppender(final Appender appender) {
+        if (appender != null) {
             // NullAppender name is null.
-            appenders.put(Objects.toString(newAppender.getName()), 
newAppender);
+            appenders.put(Objects.toString(appender.getName()), appender);
         }
     }
 
@@ -80,7 +80,7 @@ public class AppenderAttachableImpl implements 
AppenderAttachable {
 
     @Override
     public boolean isAttached(final Appender appender) {
-        return appenders.containsValue(appender);
+        return appender != null ? appenders.containsValue(appender) : false;
     }
 
     @Override
@@ -90,11 +90,18 @@ public class AppenderAttachableImpl implements 
AppenderAttachable {
 
     @Override
     public void removeAppender(final Appender appender) {
-        appenders.remove(appender.getName(), appender);
+        if (appender != null) {
+            final String name = appender.getName();
+            if (name != null) {
+                appenders.remove(name, appender);
+            }
+        }
     }
 
     @Override
     public void removeAppender(final String name) {
-        appenders.remove(name);
+        if (name != null) {
+            appenders.remove(name);
+        }
     }
 }

Reply via email to