Mercurial > hg > graal-compiler
diff src/share/vm/classfile/classFileParser.cpp @ 20527:8cb56c8cb30d
Merge
author | jiangli |
---|---|
date | Mon, 15 Sep 2014 16:39:00 -0400 |
parents | 6e0cb14ce59b ccfff14361ea |
children | f0bedf980c65 |
line wrap: on
line diff
--- a/src/share/vm/classfile/classFileParser.cpp Wed Sep 10 09:05:31 2014 -0700 +++ b/src/share/vm/classfile/classFileParser.cpp Mon Sep 15 16:39:00 2014 -0400 @@ -2830,6 +2830,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); @@ -2847,7 +2852,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,