[ https://issues.apache.org/jira/browse/LANG-686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13071554#comment-13071554 ]
Henri Yandell commented on LANG-686: ------------------------------------ Improved error message added (I hope): "Output of one loop is the input of another; protecting from potential StackOverflowError" I think there is value in #3 above as well. Some arbitrarily small number to be a minimum TTL. > 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