You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2022/04/07 23:52:02 UTC

[logging-log4j2] 01/02: [LOG4J2-3471] log4j-1.2-api-2.17.2 throws exception while removing appender with name as null.

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

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

commit 442979dc46a6aaa52fe9d184c335595cde5a7667
Author: Gary Gregory <ga...@gmail.com>
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);
+        }
     }
 }