[
https://issues.apache.org/jira/browse/CLI-162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12674469#action_12674469
]
Henri Yandell commented on CLI-162:
-----------------------------------
Two of the options appear to be problematic in CLI162.
The first is OPT_PASSWORD. In this the url is longer than the allowed width of
the screen, so some kind of failure needs to happen - or the url needs to be
mercilessly chopped. This is the one that goes into an infinite loop due to
CLI-151. My gut feeling from the code is that CLI-151 didn't introduce this
bug, but you had to be significantly longer to hit the bug before (ie:
printTabStop longer than the width).
The second is OPT_PARAM_TYPES_INT + OPT_PARAM_TYPES_NAME, it shows the the
patch for this ticket contained a bug when the lastPos happened to equal the
firstPos for completely normal reasons. I'd missed that pos was already set to
a real value when the loop was begun and not to 0. I'm not sure why both
options have to be set for this to happen.
> infinite loop in the wrapping code of HelpFormatter
> ---------------------------------------------------
>
> Key: CLI-162
> URL: https://issues.apache.org/jira/browse/CLI-162
> Project: Commons CLI
> Issue Type: Bug
> Components: Help formatter
> Affects Versions: 1.1
> Reporter: Emmanuel Bourg
> Fix For: 1.2
>
>
> If there is not enough space to display a word on a single line,
> HelpFormatter goes into a infinite loops until the JVM crashes with an
> OutOfMemoryError.
> Test case:
> {code}
> Options options = new Options();
> options.addOption("h", "help", false, "This is a looooong description");
> HelpFormatter formatter = new HelpFormatter();
> formatter.setWidth(20);
> formatter.printHelp("app", options); // hang & crash
> {code}
> An helpful exception indicating the insufficient width would be more
> appropriate than an OutOfMemoryError.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.