You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by pa...@apache.org on 2016/10/23 15:05:02 UTC

[1/2] [lang] LANG-1276: StrBuilder#replaceAll ArrayIndexOutOfBoundsException (closes #200)

Repository: commons-lang
Updated Branches:
  refs/heads/master e2dbe55d5 -> 65ed41ff7


LANG-1276: StrBuilder#replaceAll ArrayIndexOutOfBoundsException (closes #200)

Avoid ArrayIndexOutOfBoundsException by keeping variable buf consistent with buffer in StrBuilder#replaceImpl.


Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-lang/commit/10325422
Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/10325422
Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/10325422

Branch: refs/heads/master
Commit: 10325422e5a4735aa87a4d47bdb377e09fe963d2
Parents: e2dbe55
Author: Andy Klimczak <an...@fastmail.com>
Authored: Sat Oct 22 21:54:14 2016 -0400
Committer: pascalschumacher <pa...@gmx.net>
Committed: Sun Oct 23 17:01:43 2016 +0200

----------------------------------------------------------------------
 src/main/java/org/apache/commons/lang3/text/StrBuilder.java     | 2 +-
 src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-lang/blob/10325422/src/main/java/org/apache/commons/lang3/text/StrBuilder.java
----------------------------------------------------------------------
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 5679484..6079101 100644
--- a/src/main/java/org/apache/commons/lang3/text/StrBuilder.java
+++ b/src/main/java/org/apache/commons/lang3/text/StrBuilder.java
@@ -2110,8 +2110,8 @@ public class StrBuilder implements CharSequence, Appendable, Serializable, Build
             return this;
         }
         final int replaceLen = (replaceStr == null ? 0 : replaceStr.length());
-        final char[] buf = buffer;
         for (int i = from; i < to && replaceCount != 0; i++) {
+            final char[] buf = buffer;
             final int removeLen = matcher.isMatch(buf, i, from, to);
             if (removeLen > 0) {
                 replaceImpl(i, i + removeLen, removeLen, replaceStr, replaceLen);

http://git-wip-us.apache.org/repos/asf/commons-lang/blob/10325422/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java
----------------------------------------------------------------------
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 7fa0579..f83dc49 100644
--- a/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java
+++ b/src/test/java/org/apache/commons/lang3/text/StrBuilderTest.java
@@ -897,6 +897,10 @@ public class StrBuilderTest {
         sb = new StrBuilder("A1-A2A3-A4");
         sb.replaceAll(A_NUMBER_MATCHER, "***");
         assertEquals("***-******-***", sb.toString());
+
+        sb = new StrBuilder("Dear X, hello X.");
+        sb.replaceAll(StrMatcher.stringMatcher("X"), "012345678901234567");
+        assertEquals("Dear 012345678901234567, hello 012345678901234567.", sb.toString());
     }
 
     @Test


[2/2] [lang] LANG-1276: add changes.xml entry

Posted by pa...@apache.org.
LANG-1276: add changes.xml entry


Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-lang/commit/65ed41ff
Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/65ed41ff
Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/65ed41ff

Branch: refs/heads/master
Commit: 65ed41ff7a8cfb0bbc03620e186382a16e23db56
Parents: 1032542
Author: pascalschumacher <pa...@gmx.net>
Authored: Sun Oct 23 17:03:51 2016 +0200
Committer: pascalschumacher <pa...@gmx.net>
Committed: Sun Oct 23 17:03:51 2016 +0200

----------------------------------------------------------------------
 src/changes/changes.xml | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-lang/blob/65ed41ff/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 29f1725..196af87 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -46,6 +46,7 @@ The <action> type attribute can be add,update,fix,remove.
   <body>
 
   <release version="3.6" date="tba" description="tba">
+    <action issue="LANG-1276" type="fix" dev="pschumacher" due-to="Andy Klimczak">StrBuilder#replaceAll ArrayIndexOutOfBoundsException</action>
     <action issue="LANG-1278" type="fix" dev="pschumacher" due-to="Duke Yin">BooleanUtils javadoc issues</action>
     <action issue="LANG-1277" type="update" dev="pschumacher" due-to="yufcuy">StringUtils#getLevenshteinDistance reduce memory consumption</action>
     <action issue="LANG-1070" type="fix" dev="pschumacher" due-to="Paul Pogonyshev">ArrayUtils#add confusing example in javadoc</action>