diff --git a/src/changes/changes.xml b/src/changes/changes.xml index f15174565..20815917a 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -22,6 +22,7 @@ + StrBuilder.equals(StrBuilder) doesn't check for null inputs Add ThreadUtils - A utility class which provides helper methods related to java.lang.Thread Add annotations to exclude fields from ReflectionEqualsBuilder, ReflectionToStringBuilder and ReflectionHashCodeBuilder Unit test helpers which set and reset default Locale and TimeZone diff --git a/src/main/java/org/apache/commons/lang3/text/StrBuilder.java b/src/main/java/org/apache/commons/lang3/text/StrBuilder.java index 26b475ff3..7b541a6b2 100644 --- a/src/main/java/org/apache/commons/lang3/text/StrBuilder.java +++ b/src/main/java/org/apache/commons/lang3/text/StrBuilder.java @@ -2819,6 +2819,9 @@ public boolean equals(final StrBuilder other) { if (this == other) { return true; } + if (other == null) { + return false; + } if (this.size != other.size) { return false; } diff --git a/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java b/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java index 2da4cf1ef..a9c614570 100644 --- a/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java +++ b/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java @@ -1850,6 +1850,13 @@ public void testEquals() { assertFalse(sb1.equals("abc")); } + @Test + public void test_LANG_1131_EqualsWithNullStrBuilder() throws Exception { + final StrBuilder sb = new StrBuilder(); + final StrBuilder other = null; + assertFalse(sb.equals(other)); + } + //----------------------------------------------------------------------- @Test public void testHashCode() {