changeset 4838:ccdecfece956

8014059: JSR292: Failed to reject invalid class cplmhl00201m28n Summary: Restrict reference of interface methods by invokestatic and invokespecial to classfile version 52 or later. Reviewed-by: kvn, hseigel
author bharadwaj
date Tue, 21 May 2013 16:17:51 -0700
parents bbddfb08190f
children 1a07e086ff28
files src/share/vm/classfile/classFileParser.cpp
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/classfile/classFileParser.cpp	Mon May 20 23:41:27 2013 +0400
+++ b/src/share/vm/classfile/classFileParser.cpp	Tue May 21 16:17:51 2013 -0700
@@ -444,8 +444,8 @@
             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;