You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by dj...@apache.org on 2016/12/01 19:28:47 UTC
[lang] Fixes LANG-1292: WordUtils.wrap throws
StringIndexOutOfBoundsException
Repository: commons-lang
Updated Branches:
refs/heads/master 8c1a0d2ee -> a08ec31db
Fixes LANG-1292: WordUtils.wrap throws StringIndexOutOfBoundsException
Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-lang/commit/a08ec31d
Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/a08ec31d
Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/a08ec31d
Branch: refs/heads/master
Commit: a08ec31dbf212a033953dc6916a743dccbb93e37
Parents: 8c1a0d2
Author: duncan <du...@wortharead.com>
Authored: Thu Dec 1 19:28:28 2016 +0000
Committer: duncan <du...@wortharead.com>
Committed: Thu Dec 1 19:28:28 2016 +0000
----------------------------------------------------------------------
src/changes/changes.xml | 1 +
.../java/org/apache/commons/lang3/text/WordUtils.java | 2 +-
.../org/apache/commons/lang3/text/WordUtilsTest.java | 13 +++++++++----
3 files changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-lang/blob/a08ec31d/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 834ec7f..994ad1b 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="2016-MM-DD" description="TBD">
+ <action issue="LANG-1292" type="fix" dev="djones">WordUtils.wrap throws StringIndexOutOfBoundsException</action>
<action issue="LANG-1287" type="fix" dev="pschumacher" due-to="Ivan Morozov">RandomStringUtils#random can enter infinite loop if end parameter is to small</action>
<action issue="LANG-1285" type="fix" dev="pschumacher" due-to="Francesco Chicchiricc�">NullPointerException in FastDateParser$TimeZoneStrategy</action>
<action issue="LANG-1281" type="fix" dev="pschumacher" due-to="Andreas Lundblad">Javadoc of StringUtils.ordinalIndexOf is contradictory.</action>
http://git-wip-us.apache.org/repos/asf/commons-lang/blob/a08ec31d/src/main/java/org/apache/commons/lang3/text/WordUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/lang3/text/WordUtils.java b/src/main/java/org/apache/commons/lang3/text/WordUtils.java
index 3bc2297..43da4cd 100644
--- a/src/main/java/org/apache/commons/lang3/text/WordUtils.java
+++ b/src/main/java/org/apache/commons/lang3/text/WordUtils.java
@@ -291,7 +291,7 @@ public class WordUtils {
offset += matcher.end();
continue;
}else {
- spaceToWrapAt = matcher.start();
+ spaceToWrapAt = matcher.start() + offset;
}
}
http://git-wip-us.apache.org/repos/asf/commons-lang/blob/a08ec31d/src/test/java/org/apache/commons/lang3/text/WordUtilsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/lang3/text/WordUtilsTest.java b/src/test/java/org/apache/commons/lang3/text/WordUtilsTest.java
index 8275768..05d3b8a 100644
--- a/src/test/java/org/apache/commons/lang3/text/WordUtilsTest.java
+++ b/src/test/java/org/apache/commons/lang3/text/WordUtilsTest.java
@@ -16,10 +16,7 @@
*/
package org.apache.commons.lang3.text;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
import java.lang.reflect.Constructor;
import java.lang.reflect.Modifier;
@@ -417,5 +414,13 @@ public class WordUtilsTest {
final String expect = "tHIS sTRING CONTAINS A tITLEcASE CHARACTER: \u01C9";
assertEquals(expect, WordUtils.swapCase(test));
}
+
+ @Test
+ public void testLANG1292() throws Exception {
+ // Prior to fix, this was throwing StringIndexOutOfBoundsException
+ WordUtils.wrap("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "
+ + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "
+ + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",70);
+ }
}