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