[foreign-memaccess+abi] RFR: 8294309: Downcall and Upcall unboxing code should reject heap segments

Jorn Vernee jvernee at openjdk.org
Tue Oct 4 12:03:15 UTC 2022


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`.

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

Commit messages:
 - reject heap segments passed as addresses

Changes: https://git.openjdk.org/panama-foreign/pull/737/files
 Webrev: https://webrevs.openjdk.org/?repo=panama-foreign&pr=737&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8294309
  Stats: 300 lines in 7 files changed: 234 ins; 53 del; 13 mod
  Patch: https://git.openjdk.org/panama-foreign/pull/737.diff
  Fetch: git fetch https://git.openjdk.org/panama-foreign pull/737/head:pull/737

PR: https://git.openjdk.org/panama-foreign/pull/737


More information about the panama-dev mailing list