RFR: 8366421: ModifiedUtf.utfLen may overflow for giant string [v7]

Guanqiang Han ghan at openjdk.org
Tue Sep 23 06:58:18 UTC 2025


> 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 10 additional commits since the last revision:

 - optimize test
 - Merge remote-tracking branch 'upstream/master' into 8366421
 - Update and rename TestUtfLen.java to ModifiedUtfTest.java
   
   rename test
 - Update TestUtfLen.java
   
   fix a small error
 - Update TestUtfLen.java
   
   fix format error
 - Update TestUtfLen.java
   
   Optimize regression test
 - Update TestUtfLen.java
   
   update regression test
 - add regression test
 - Merge remote-tracking branch 'upstream/master' into 8366421
 - Change return type of utfLen to long to prevent overflow

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/27285/files
  - new: https://git.openjdk.org/jdk/pull/27285/files/4611bbbb..22e5ea54

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=27285&range=06
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=27285&range=05-06

  Stats: 123487 lines in 888 files changed: 111888 ins; 7843 del; 3756 mod
  Patch: https://git.openjdk.org/jdk/pull/27285.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27285/head:pull/27285

PR: https://git.openjdk.org/jdk/pull/27285


More information about the core-libs-dev mailing list