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 <[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); + } } }
