RFR(S) 7127066: Class verifier accepts an invalid class file
Karen Kinnear
karen.kinnear at oracle.com
Mon Mar 16 19:49:45 UTC 2015
Harold,
Thanks for helping me walk through this in more detail.
The way I read this, the fix would apply to all bytecodes - except for
invokespecial <init> - which is handled I believe correctly inside the
verify_invoke_init.
So if you could possibly experiment with some additional instructions - I suspect
you can make a conditional check where you put the beginning check and remove
the check at the end.
thanks,
Karen
On Mar 15, 2015, at 8:58 PM, David Holmes wrote:
> Hi Harold,
> On 14/03/2015 4:06 AM, harold seigel wrote:
>> Hi,
>>
>> Please review this fix for bug JDK-7127066. The fix applies to astore*
>> bytecodes because, when inside an exception handler, they can reference
>> the thrown object and modify the number of stack locals, enabling the
>> incorrect stack match.
>>
>> Open webrev: http://oklahoma.us.oracle.com/~hseigel/webrev/bug_7127066/
>>
>> JBS bug: https://bugs.openjdk.java.net/browse/JDK-7127066
>>
>> The fix was tested with JCK api, lang, and vm tests, jtreg hotspot,
>> java/lang, java/io, and java/util tests, and testbase quick and split
>> verifier tests, and with the test case provided in the bug.
>
> The new check looks okay, though I can't verify the exact placement of it.
>
> Thanks,
> David
>
>>
>> Thanks! Harold
More information about the hotspot-runtime-dev
mailing list