commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <j...@apache.org>
Subject [jira] [Created] (LANG-806) RandomStringUtils can enter infinite loop if chosen char does not meet letter/digit requirements
Date Sat, 09 Jun 2012 17:09:43 GMT
Sebb created LANG-806:
-------------------------

             Summary: RandomStringUtils can enter infinite loop if chosen char does not meet
letter/digit requirements
                 Key: LANG-806
                 URL: https://issues.apache.org/jira/browse/LANG-806
             Project: Commons Lang
          Issue Type: Bug
    Affects Versions: 3.1, 2.6
            Reporter: Sebb
            Assignee: Sebb


If numbers == true or digits == true, then an infinite loop can result if the selection process
never returns a char that passes the validation test.

This can occur with

RandomStringUtils.random(1, -1, 1, true, true)

because the gap is 2, i.e. random.nextInt(gap) + start == 0

This is trivial to fix; the code should check that start >=0 and end > start (unless
start==end==0).

It can also occur if the provided char array or array subset does not contain any valid chars.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message