[foreign-memaccess+abi] RFR: 8294309: Downcall and Upcall unboxing code should reject heap segments
Maurizio Cimadamore
mcimadamore at openjdk.org
Tue Oct 4 12:09:52 UTC 2022
On Mon, 3 Oct 2022 21:16:41 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:
> Recently I noticed that we don't check for heap segments anymore when unboxing memory segments to be passed to native code as addresses. This allows someone to pass a heap segment, which will be unboxed simply by calling `MemorySegment::address` which for heap segments returns the byte offset into the array. This is of course not a valid pointer.
>
> This patch changes the unboxing logic to reject heap segments with an `IllegalArgumentException`.
src/java.base/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 265:
> 263:
> 264: static long unboxSegment(MemorySegment segment) {
> 265: if (segment instanceof HeapMemorySegmentImpl) {
there's MemorySegment.isNative, which maybe is better?
-------------
PR: https://git.openjdk.org/panama-foreign/pull/737
More information about the panama-dev
mailing list