[ 
https://issues.apache.org/jira/browse/CLI-193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12881262#action_12881262
 ] 

Chris Lee commented on CLI-193:
-------------------------------

Well, that would be easy enough to fix, but that's at odds with how the method 
is documented now. It currently says it will ONLY break on a newline or space 
("The wrap point is the last postion before startPos+width having a whitespace 
character (space, \n, \r).").

In addition to that, it's currently looking for whitespace AFTER startPos+width 
(also at odds with documentation). How should it actually behave?

I've attached another patch that will preserve the existing functionality 
(looking for spaces after startPos+width) but reverts back to returning 
startPos+width if none is found.

If, instead, it should *never* allow for a string longer than startPos+width, 
then current lines 908-912 should probably just be removed. This will cause 
"wrap position 3" unit test to fail though.

> StringIndexOutOfBoundsException in HelpFormatter.findWrapPos
> ------------------------------------------------------------
>
>                 Key: CLI-193
>                 URL: https://issues.apache.org/jira/browse/CLI-193
>             Project: Commons CLI
>          Issue Type: Bug
>          Components: CLI-1.x
>    Affects Versions: 1.2
>            Reporter: Travis McLeskey
>            Priority: Critical
>             Fix For: 1.3
>
>         Attachments: cli-helpformatter-stringIndexOOB-2.patch, 
> cli-helpformatter-stringIndexOOB.patch
>
>   Original Estimate: 0.08h
>  Remaining Estimate: 0.08h
>
> In the last while loop in HelpFormatter.findWrapPos, it can pass 
> text.length() to text.charAt(int), which throws a 
> StringIndexOutOfBoundsException. The first expression in that while loop 
> condition should use a <, not a <=.
> This is on line 908 in r779646:
>   
> http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/java/org/apache/commons/cli/HelpFormatter.java?revision=779646&view=markup

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to