On Thu, 18 Sep 2025 12:49:50 GMT, Guanqiang Han <[email protected]> wrote:
>> Please review this patch.
>>
>> **Description:**
>>
>> Currently, ModifiedUtf.utfLen returns a signed int. For very large strings,
>> this may overflow and produce negative values, leading to incorrect behavior
>> in code that relies on the UTF length. This patch changes the return type to
>> long, which fully resolves the issue and allows safe handling of giant
>> strings.
>>
>> **Test:**
>>
>> GHA
>
> Guanqiang Han has updated the pull request with a new target base due to a
> merge or a rebase. The incremental webrev excludes the unrelated changes
> brought in by the merge/rebase. The pull request contains three additional
> commits since the last revision:
>
> - add regression test
> - Merge remote-tracking branch 'upstream/master' into 8366421
> - Change return type of utfLen to long to prevent overflow
test/jdk/jdk/internal/util/TestUtfLen.java line 50:
> 48: for (int i = 0; i < iterations; i++) {
> 49: total += ModifiedUtf.utfLen(chunk, 0);
> 50: }
Suggestion:
long total = ModifiedUtf.utfLen(chunk.repeat(iterations), 0);
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27285#discussion_r2359898759