RFR: 8311301: MethodExitTest may fail with stack buffer overrun

Daniel Jeliński djelinski at openjdk.org
Tue Jul 4 19:56:01 UTC 2023


Please review this test-only fix that fixes the size of variables that are used in methods that expect a pointer.

On Windows, type `long` is 32 bits, pointers are 64 bits large. The method `GetThreadLocalStorage` writes a pointer (64 bits) to the address given by its parameter, which overflows a `long`. The code generated by VS compiler ignores this, but the code generated by clang crashes the test.

No new tests. MethodExitTest continues to pass on supported platforms, and passes on clang+win with this fix.

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

Commit messages:
 - Fix buffer overrun

Changes: https://git.openjdk.org/jdk/pull/14770/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14770&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8311301
  Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/14770.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14770/head:pull/14770

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


More information about the serviceability-dev mailing list