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.


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