RFR(XS) 8081695: Old verifier fails to reject bad access to protected <init> method

harold seigel harold.seigel at oracle.com
Fri Jul 17 18:20:59 UTC 2015


Hi Lois,

Thanks for the review.

I'll re-phrase the Summary to say:  Verify that protected constructor 
calls are not allowed for any classfile versions in either verifier.

Harold

On 7/17/2015 2:13 PM, Lois Foltan wrote:
>
> On 7/17/2015 10:48 AM, harold seigel wrote:
>> Hi,
>>
>> Please review this small change to fix bug JDK-8081695.  The (old) 
>> type inferencing verifier excluded a particular protected access 
>> check for invokespecial calls of protected methods.  That exclusion 
>> was done because of bytecodes generated by very old broken 
>> compilers.  It is being removed because it violates the JVM-8 Spec 
>> and should no longer be needed.
>>
>> Open Webrev: http://cr.openjdk.java.net/~hseigel/bug_8081695/
>>
>> JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8081695
>
> Looks good.  But can I suggest a reword on line #29 of 
> test/vm/verifier/VerifyProtectedConstructor.java.  Instead of:
> @summary Verify that protected constructor calls are not allowed for classfile version >= 50 (and that they are also not allowed for lesser versions).
> Can you just simply state:
> @summary Verify that protected constructor calls are not allowed for classfile version >= 49
>
> Thanks,
> Lois
>
>
>
>>
>> The fix was tested with JCK Lang and VM tests, WLS sanity testing, 
>> the UTE quick tests, and the hotspot, and JDK vm, java/io, java/lang, 
>> and java/util JTreg tests.
>>
>> Thanks, Harold
>



More information about the hotspot-runtime-dev mailing list