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

Scott Gibbons duke at openjdk.java.net
Thu Dec 9 23:43:35 UTC 2021


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.

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

Commit messages:
 - Add buffer overrun check for decode
 - Add masked write

Changes: https://git.openjdk.java.net/jdk/pull/6786/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6786&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8273108
  Stats: 12 lines in 2 files changed: 7 ins; 0 del; 5 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6786.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6786/head:pull/6786

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


More information about the hotspot-compiler-dev mailing list