[8] RFR (XS): 8032585: JSR292: IllegalAccessError when attempting to invoke protected method from different package
Christian Thalinger
christian.thalinger at oracle.com
Mon Jan 27 10:54:25 PST 2014
Looks good.
On Jan 27, 2014, at 8:05 AM, Vladimir Ivanov <vladimir.x.ivanov at oracle.com> wrote:
> http://cr.openjdk.java.net/~vlivanov/8032585/webrev.00/
> https://bugs.openjdk.java.net/browse/JDK-8032585
>
> JSR292 access verification logic refuses method handle lookup access to
> methods which are defined on inaccessible classes. This is usually
> correct, but in the corner case of inheritance through a public class,
> it is wrong. 8029507 makes the JVM provide more correct information
> about the defining class of a looked-up method and this corrected
> information is causing the old and wrong checks to fail where they
> didn't fail before.
>
> The fix is to relax the check: don't require the class where protected
> member is declared to be public. It is enough to check that defining
> class is a super class of the class lookup request comes from to ensure
> there are enough privileges to access protected member.
>
> Testing: regression test, enumeration tests on access checks,
> jdk/test/java/lang/invoke, vm.mlvm.testlist
>
> Thanks!
>
> Best regards,
> Vladimir Ivanov
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
More information about the mlvm-dev
mailing list