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