Commons Lang
  1. Commons Lang
  2. LANG-419

WordUtils.abbreviate bug when lower is greater than str.length

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.4
    • Fix Version/s: 2.5
    • Component/s: lang.*
    • Labels:
      None

      Description

      In WordUtils.abbreviate, upper is adjusted to the length of the string, then to lower.
      But lower is never adjusted to the length of the string, so if lower is greater than str.lengt(), upper will be too...
      Then, str.substring(0, upper) throw a StringIndexOutOfBoundsException

      The fix is to adjust lower to the length of the string

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Closed Closed
        45d 12h 12m 1 Henri Yandell 11/May/08 06:18
        Mark Thomas made changes -
        Workflow jira [ 12427397 ] Default workflow, editable Closed status [ 12602432 ]
        Niall Pemberton made changes -
        Fix Version/s 2.5 [ 12314743 ]
        Fix Version/s 3.0 [ 12311714 ]
        Henri Yandell made changes -
        Component/s lang.* [ 12313203 ]
        Henri Yandell made changes -
        Resolution Fixed [ 1 ]
        Status Open [ 1 ] Closed [ 6 ]
        Hide
        Henri Yandell added a comment -

        svn ci -m "Applying Vincent Behar's second patch for LANG-419 - fixing a bug in abbreviate such that lower limits greater than the length of the string weren't working correctly" src

        Sending src/java/org/apache/commons/lang/WordUtils.java
        Sending src/test/org/apache/commons/lang/WordUtilsTest.java
        Transmitting file data ..
        Committed revision 655246.

        Show
        Henri Yandell added a comment - svn ci -m "Applying Vincent Behar's second patch for LANG-419 - fixing a bug in abbreviate such that lower limits greater than the length of the string weren't working correctly" src Sending src/java/org/apache/commons/lang/WordUtils.java Sending src/test/org/apache/commons/lang/WordUtilsTest.java Transmitting file data .. Committed revision 655246.
        Vincent Behar made changes -
        Hide
        Vincent Behar added a comment -

        ok my mistake, I should have done something wrong yesterday while playing with it.
        I've done a clean checkout and fixed the patch : the new one (...fixed.patch) is good, I checked it with "mvn test".

        Show
        Vincent Behar added a comment - ok my mistake, I should have done something wrong yesterday while playing with it. I've done a clean checkout and fixed the patch : the new one (...fixed.patch) is good, I checked it with "mvn test".
        Hide
        Henri Yandell added a comment -

        When I apply the patch, the tests don't pass. ie) Looks like the fix doesn't fix it.

        Show
        Henri Yandell added a comment - When I apply the patch, the tests don't pass. ie) Looks like the fix doesn't fix it.
        Henri Yandell made changes -
        Fix Version/s 3.0 [ 12311714 ]
        Hide
        pbenedict added a comment -

        Congrats on the logging the first 2.4 bug.

        Show
        pbenedict added a comment - Congrats on the logging the first 2.4 bug.
        Vincent Behar made changes -
        Field Original Value New Value
        Attachment WordUtils_abbreviate_lowerLimit_bug.patch [ 12378641 ]
        Hide
        Vincent Behar added a comment -

        here is a patch with the corresponding unit-test

        I also had to fix another assert statement in the unit test

        Show
        Vincent Behar added a comment - here is a patch with the corresponding unit-test I also had to fix another assert statement in the unit test
        Vincent Behar created issue -

          People

          • Assignee:
            Unassigned
            Reporter:
            Vincent Behar
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development