On Thu, 24 Nov 2022 13:23:13 GMT, Claes Redestad <redes...@openjdk.org> wrote:

> When concatenating Strings, OutOfMemoryError should be thrown on all overflow 
> conditions. This fixes a case that erroneously thro IAE on concatenations of 
> long (`length > Integer.MAX_VALUE/2`) UTF16 strings due failing to check for 
> overflow after shifting index left with the coder.
> 
> This was caught by a fuzzer test. Added a sanity test that fails without the 
> patch (loosely derived from ImplicitStringConcatMany.java)

test/jdk/java/lang/String/concat/ImplicitStringConcatOOME.java line 36:

> 34:  * @run main/othervm -Xverify:all -Xmx4g ImplicitStringConcatOOME
> 35:  *
> 36:  * @compile ImplicitStringConcatOOME.java

I don't think you need the @compile tags but you might need `@requires 
sun.arch.data.model == "64"` so that the test only runs on 64-bit systems.

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

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

Reply via email to