LOG4J2-1342 ensure internal array is not set to null by incorrect swap() invocation
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/047202aa Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/047202aa Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/047202aa Branch: refs/heads/LOG4j2-494 Commit: 047202aa1fc3681f1f546eebd08f2a94b426a993 Parents: fb5e730 Author: rpopma <[email protected]> Authored: Fri Apr 22 12:51:13 2016 +0900 Committer: Ralph Goers <[email protected]> Committed: Mon Apr 25 21:30:28 2016 -0700 ---------------------------------------------------------------------- .../logging/log4j/message/ReusableParameterizedMessage.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/047202aa/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java index 4913c64..12f4346 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java @@ -17,6 +17,7 @@ package org.apache.logging.log4j.message; import java.util.Arrays; +import java.util.Objects; import org.apache.logging.log4j.util.PerformanceSensitive; @@ -61,10 +62,10 @@ public class ReusableParameterizedMessage implements ReusableMessage { Object[] result; if (varargs == null) { result = params; - params = emptyReplacement; + params = Objects.requireNonNull(emptyReplacement); } else { result = varargs; - varargs = emptyReplacement; + varargs = Objects.requireNonNull(emptyReplacement); } return result; }
