# HG changeset patch # User asaha # Date 1401856613 25200 # Node ID b207affc06186f71494c32b3479cd54bd691a5c6 # Parent ec8878dc470d723b8a7de6970ae6ca5e97613f0a# Parent dbcd3fcdba84b6c07979bdef4198d334320d451f Merge diff -r ec8878dc470d -r b207affc0618 make/hotspot_version --- a/make/hotspot_version Tue Jun 03 07:29:16 2014 -0700 +++ b/make/hotspot_version Tue Jun 03 21:36:53 2014 -0700 @@ -34,8 +34,8 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2014 HS_MAJOR_VER=25 -HS_MINOR_VER=20 -HS_BUILD_NUMBER=16 +HS_MINOR_VER=25 +HS_BUILD_NUMBER=01 JDK_MAJOR_VER=1 JDK_MINOR_VER=8 diff -r ec8878dc470d -r b207affc0618 src/share/vm/classfile/classFileParser.cpp --- a/src/share/vm/classfile/classFileParser.cpp Tue Jun 03 07:29:16 2014 -0700 +++ b/src/share/vm/classfile/classFileParser.cpp Tue Jun 03 21:36:53 2014 -0700 @@ -2831,6 +2831,11 @@ "bootstrap_method_index %u has bad constant type in class file %s", bootstrap_method_index, CHECK); + + guarantee_property((operand_fill_index + 1 + argument_count) < operands->length(), + "Invalid BootstrapMethods num_bootstrap_methods or num_bootstrap_arguments value in class file %s", + CHECK); + operands->at_put(operand_fill_index++, bootstrap_method_index); operands->at_put(operand_fill_index++, argument_count); @@ -2848,7 +2853,6 @@ } assert(operand_fill_index == operands->length(), "exact fill"); - assert(ConstantPool::operand_array_length(operands) == attribute_array_length, "correct decode"); u1* current_end = cfs->current(); guarantee_property(current_end == current_start + attribute_byte_length, diff -r ec8878dc470d -r b207affc0618 src/share/vm/classfile/verifier.cpp --- a/src/share/vm/classfile/verifier.cpp Tue Jun 03 07:29:16 2014 -0700 +++ b/src/share/vm/classfile/verifier.cpp Tue Jun 03 21:36:53 2014 -0700 @@ -2315,7 +2315,7 @@ instanceKlassHandle mh(THREAD, m->method_holder()); if (m->is_protected() && !mh->is_same_class_package(_klass())) { bool assignable = current_type().is_assignable_from( - objectref_type, this, CHECK_VERIFY(this)); + objectref_type, this, true, CHECK_VERIFY(this)); if (!assignable) { verify_error(ErrorContext::bad_type(bci, TypeOrigin::cp(new_class_index, objectref_type),