RFR: 8311301: MethodExitTest may fail with stack buffer overrun
    David Holmes 
    dholmes at openjdk.org
       
    Wed Jul  5 02:45:14 UTC 2023
    
    
  
On Tue, 4 Jul 2023 17:33:02 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:
> 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.
Why not type them `void*` as expected by the API, and then you can also drop the casts?
Thanks.
-------------
Changes requested by dholmes (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/14770#pullrequestreview-1513576094
    
    
More information about the serviceability-dev
mailing list