[ http://issues.apache.org/jira/browse/LANG-299?page=all ]
Henri Yandell resolved LANG-299. -------------------------------- Fix Version/s: 2.3 Resolution: Fixed Applying my patch. Took a bit to find out the actual failing test as you either have to make the StrBuilder smaller than 32 by default, or have big strings. svn ci -m "Applying a unit test for LANG-299 and the fix that Francisco Benavent suggests. " Sending src/java/org/apache/commons/lang/text/StrBuilder.java Sending src/test/org/apache/commons/lang/text/StrBuilderAppendInsertTest.java Transmitting file data .. Committed revision 486377. > Bug in method appendFixedWidthPadRight of class StrBuilder causes an > ArrayIndexOutOfBoundsException > --------------------------------------------------------------------------------------------------- > > Key: LANG-299 > URL: http://issues.apache.org/jira/browse/LANG-299 > Project: Commons Lang > Issue Type: Bug > Affects Versions: 2.2 > Reporter: Francisco Benavent > Fix For: 2.3 > > Attachments: LANG-299.patch > > > There's a bug in method appendFixedWidthPadRight of class StrBuilder: > public StrBuilder appendFixedWidthPadRight(Object obj, int width, char > padChar) { > if (width > 0) { > ensureCapacity(size + width); > String str = (obj == null ? getNullText() : obj.toString()); > int strLen = str.length(); > if (strLen >= width) { > ==> str.getChars(0, strLen, buffer, size); <==== BUG: it should > be str.getChars(0, width, buffer, size); > } else { > int padLen = width - strLen; > str.getChars(0, strLen, buffer, size); > for (int i = 0; i < padLen; i++) { > buffer[size + strLen + i] = padChar; > } > } > size += width; > } > return this; > } > This is causing an ArrayIndexOutOfBoundsException, so this method is unusable > when strLen > width. > It's counterpart method appendFixedWidthPadLeft seems to be ok. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]