RFR: 8273108: RunThese24H crashes with SEGV in markWord::displaced_mark_helper() after JDK-8268276

Sandhya Viswanathan sviswanathan at openjdk.java.net
Thu Dec 9 23:43:38 UTC 2021


On Thu, 9 Dec 2021 22:43:28 GMT, Scott Gibbons <duke at openjdk.java.net> wrote:

> The base64 decoder overwrites memory past the end of its output buffer in certain cases.  It will not overwrite if the encoded string length is < 64 bytes.  It also will not overwrite if the encoded string length mod 64 is >= 16.  So the case where it *will* overwrite is when the input string length (the encoded byte length) mod 64 is less than 16.
> 
> I also added a test case to detect this overrun.

src/hotspot/cpu/x86/stubGenerator_x86_64.cpp line 6264:

> 6262:       __ jcc(Assembler::lessEqual, L_finalBit);
> 6263: 
> 6264:       __ mov64(rax, 0x0000ffffffffffff);

The constant should have an l suffix.

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

PR: https://git.openjdk.java.net/jdk/pull/6786


More information about the hotspot-compiler-dev mailing list