This is an automated email from the ASF dual-hosted git repository.
garydgregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git
The following commit(s) were added to refs/heads/master by this push:
new 58ba515e4 commit 313d877d57abefdbb1ad0c42781bf719b83d5a35 Author: Gary
Gregory <[email protected]> 2026-05-07 08:08:51 Committer:
GitHub <[email protected]> 2026-05-07 08:08:51 Parent:
e63927afd575ba22f41a1d5b23b2d85745e82d24 (Annotation lookup matches unrelated
overloads via assignable-parameter resolution (#1637)) Branches: master,
origin/HEAD, origin/master
58ba515e4 is described below
commit 58ba515e4b083f658ef2087df36284a9cd539b31
Author: Gary Gregory <[email protected]>
AuthorDate: Thu May 7 08:10:58 2026 -0400
commit 313d877d57abefdbb1ad0c42781bf719b83d5a35
Author: Gary Gregory <[email protected]> 2026-05-07
08:08:51
Committer: GitHub <[email protected]> 2026-05-07 08:08:51
Parent: e63927afd575ba22f41a1d5b23b2d85745e82d24 (Annotation lookup
matches unrelated overloads via assignable-parameter resolution (#1637))
Branches: master, origin/HEAD, origin/master
Two fixes in RandomStringUtils.random(int, int, int, boolean, boolean,
(#1638)
char[], Random)
- A custom chars array throws IllegalArgumentException because
validation loops treat the loop index as a char code point instead of an
index into the chars array.
- random() hangs when the specified [start, end) range contains ONLY
rejected code points (UNASSIGNED, PRIVATE_USE, SURROGATE). The loop
increments count and retries indefinitely.
---
src/changes/changes.xml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index d31e0e4aa..fc3de2a5b 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -141,6 +141,8 @@ java.lang.NullPointerException: Cannot invoke
<action type="fix" dev="ggregory" due-to="Omkhar
Arasaratnam, Gary Gregory">NumberUtils.createNumber(String): Float shortcut can
bypass exact decimal parsing (#1635).</action>
<action type="fix" dev="ggregory" due-to="Omkhar
Arasaratnam, Gary Gregory">StringUtils.joins() for primitive types can throw
OOME before index check (#1636).</action>
<action type="fix" dev="ggregory" due-to="Omkhar
Arasaratnam, Gary Gregory">Annotation lookup in
MethodUtils.getAnnotation(Method, Class, boolean, boolean) matches unrelated
overloads via assignable-parameter resolution (#1637).</action>
+ <action type="fix" dev="ggregory" due-to="Omkhar
Arasaratnam, Gary Gregory">RandomStringUtils.random(...): A custom chars array
throws IllegalArgumentException because validation loops treat the loop index
as a char code point instead of an index into the chars array (#1638).</action>
+ <action type="fix" dev="ggregory" due-to="Omkhar
Arasaratnam, Gary Gregory">RandomStringUtils.random(...): Can hang when the
specified [start, end) range contains ONLY rejected code points (UNASSIGNED,
PRIVATE_USE, SURROGATE). The loop increments count and retries indefinitely
(#1638).</action>
<!-- ADD -->
<action type="add" dev="ggregory" due-to="Gary
Gregory">Add JavaVersion.JAVA_27.</action>
<action type="add" dev="ggregory" due-to="Gary
Gregory">Add SystemUtils.IS_JAVA_27.</action>