diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RegexReplacement.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RegexReplacement.java index 448c43858bd..8446afd53b8 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RegexReplacement.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RegexReplacement.java @@ -65,7 +65,7 @@ public String toString() { * Create a RegexReplacement. * @param regex The regular expression to locate. * @param replacement The replacement value. - * @return A RegexReplacement. + * @return the new RegexReplacement instance or {@code null} if an input parameter was invalid */ @PluginFactory public static RegexReplacement createRegexReplacement( @@ -76,6 +76,7 @@ public static RegexReplacement createRegexReplacement( } if (replacement == null) { LOGGER.error("A replacement string is required to perform replacement"); + return null; } // FIXME: should we use Matcher.quoteReplacement() here? return new RegexReplacement(regex, replacement); diff --git a/src/changelog/.2.x.x/3215_fix-RegexReplacement.xml b/src/changelog/.2.x.x/3215_fix-RegexReplacement.xml new file mode 100644 index 00000000000..08890d7ecf1 --- /dev/null +++ b/src/changelog/.2.x.x/3215_fix-RegexReplacement.xml @@ -0,0 +1,10 @@ + + + + + Properly handle null 'replacement' parameter in RegexReplacement#createRegexReplacement. + +