[ 
https://issues.apache.org/jira/browse/LANG-686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13071533#comment-13071533
 ] 

Henri Yandell commented on LANG-686:
------------------------------------

For this regexp; and I suspect it's the worst, yet vaguely sane, case; the TTL 
would have needed to have been text.length() - 1. For large text that's going 
to offer no protection against StackOverflowError. Options would seem to be:

1) Leave as is, improve IllegalStateException message (and update in javadoc 
which says IllegalArgumentException).
2) Stop protecting against StackOverflowError.
3) Increase the size by a marginal, yet arbitrary, amount.

I'm going to continue to go with #1.

> StringUtils.replaceEachRepeatedly("aaa", new String[]{"aa"}, new 
> String[]{"aXa"}); throw an exception
> -----------------------------------------------------------------------------------------------------
>
>                 Key: LANG-686
>                 URL: https://issues.apache.org/jira/browse/LANG-686
>             Project: Commons Lang
>          Issue Type: Bug
>          Components: lang.*
>    Affects Versions: 2.6
>         Environment: jdk 1.6.24, windows xp pro sp3, eclipse helios
>            Reporter: qed
>             Fix For: 3.0.1
>
>
> After executing line
> StringUtils.replaceEachRepeatedly("aaa", new String[]{"aa"}, new 
> String[]{"aXa"});
> exception is thrown:
> Exception in thread "main" java.lang.IllegalStateException: TimeToLive of -1 
> is less than 0: aXaXa
>       at 
> org.apache.commons.lang.StringUtils.replaceEach(StringUtils.java:3986)
>       at 
> org.apache.commons.lang.StringUtils.replaceEach(StringUtils.java:4099)
>       at 
> org.apache.commons.lang.StringUtils.replaceEach(StringUtils.java:4099)
>       at 
> org.apache.commons.lang.StringUtils.replaceEachRepeatedly(StringUtils.java:3920)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to