RFR(S) 7127066: Class verifier accepts an invalid class file
harold seigel
harold.seigel at oracle.com
Mon Mar 16 21:26:08 UTC 2015
Hi Karen,
Thanks for reviewing this. I'll look into other bytecodes and let you
know what I find out.
Harold
On 3/16/2015 3:49 PM, Karen Kinnear wrote:
> 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