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


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]

Reply via email to