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

Reply via email to