RFR: JDK-8221642: AccessibleObject::setAccessible throws NPE when invoked by JNI code with no java frame on stack [v2]

Mandy Chung mchung at openjdk.java.net
Mon Jan 31 17:55:54 UTC 2022


> `AccessibleObject::setAccessible` and `trySetAccessible` methods should only allow access to public member of a public type that is unconditionally exported consistent with the access check as described in the class specification, when invoked by JNI code with no Java class on the stack.   The current implementation throws NPE when finding the module of the caller class as the caller class is null.
> 
> The specification of `canAccess`, `setAccessible` and `trySetAccessible` are updated to specify the behavior when the caller class is null.   I consider this spec update as a clarification as the class specification covers this case.

Mandy Chung has updated the pull request incrementally with one additional commit since the last revision:

  Fix typo

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7271/files
  - new: https://git.openjdk.java.net/jdk/pull/7271/files/0f57385d..eb5efab4

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=7271&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=7271&range=00-01

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7271.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7271/head:pull/7271

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


More information about the core-libs-dev mailing list