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

Lois Foltan lois.foltan at oracle.com
Fri Jul 17 18:21:42 UTC 2015


Thanks, that sounds good.
Lois

On 7/17/2015 2:20 PM, harold seigel wrote:
> 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