8014059: JSR292: Failed to reject invalid class cplmhl00201m28n

Restrict reference of interface methods by invokestatic and invokespecial to classfile version 52 or later.

Reviewed-by: kvn, hseigel
This commit is contained in:
Bharadwaj Yadavalli 2013-05-21 16:17:51 -07:00
parent a462587e4b
commit 19da55568f

View File

@ -444,8 +444,8 @@ constantPoolHandle ClassFileParser::parse_constant_pool(TRAPS) {
break;
case JVM_REF_invokeStatic:
case JVM_REF_invokeSpecial:
check_property(
tag.is_method() || tag.is_interface_method(),
check_property(tag.is_method() ||
((_major_version >= JAVA_8_VERSION) && tag.is_interface_method()),
"Invalid constant pool index %u in class file %s (not a method)",
ref_index, CHECK_(nullHandle));
break;