[jdk17] RFR: 8269697: JNI_GetPrimitiveArrayCritical() should not accept object array [v2]

Per Liden pliden at openjdk.java.net
Thu Jul 1 08:54:01 UTC 2021


On Thu, 1 Jul 2021 00:34:26 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

>> GetPrimitiveArrayCritical() is supposed to only be used with primitive array types, but nothing prevents current implementation from accepting object arrays (please see attached test case in bug).
>> 
>> My purposed fix is not very friendly, it crashes JVM if a none primitive array is passed in, but I am sure what to expect in this scenario.
>> 
>> Specification people, please comment. Thanks!
>
> Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Kim's comment

The spec (https://docs.oracle.com/en/java/javase/16/docs/specs/jni/functions.html#getprimitivearraycritical-releaseprimitivearraycritical) says:

> Returns a pointer to the array elements, or NULL if the operation fails.

I interpret this as we're allowed to return NULL in this case. Operation failed because of invalid input.

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

PR: https://git.openjdk.java.net/jdk17/pull/185


More information about the hotspot-dev mailing list