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 34:

> 32: import jdk.internal.util.ModifiedUtf;
> 33: 
> 34: public class TestUtfLen {

Please rename this to `ModifiedUtfTest`, convert to junit, and turn this into 
one case for overflow of `utfLen`, like `testUtfLenOverflow`, to align with 
other tests in the same directory.

Core libraries usually use JUnit tests instead of main tests like runtime 
unless there are sensitive stuff that need flagless or would be perturbed by 
JUnit or other framework initialization.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/27285#discussion_r2359918536

Reply via email to