8130183: InnerClasses: VM permits wrong inner_class_info_index value of zero

Throw ClassFormatError if InnerClasses attribute's inner_class_info_index is 0

Reviewed-by: acorn, lfoltan
This commit is contained in:
Harold Seigel 2015-07-09 08:36:37 -04:00
parent 48ed80d136
commit 00da567d15
3 changed files with 106 additions and 2 deletions

View file

@ -2692,8 +2692,7 @@ u2 ClassFileParser::parse_classfile_inner_classes_attribute(u1* inner_classes_at
// Inner class index
u2 inner_class_info_index = cfs->get_u2_fast();
check_property(
inner_class_info_index == 0 ||
valid_klass_reference_at(inner_class_info_index),
valid_klass_reference_at(inner_class_info_index),
"inner_class_info_index %u has bad constant type in class file %s",
inner_class_info_index, CHECK_0);
// Outer class index