mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +02:00
8139069: JVM should throw ClassFormatError for <init> methods in interfaces
If method being parsed is in an interface, throw ClassFormatError if its name is "<init>" Reviewed-by: acorn, lfoltan
This commit is contained in:
parent
5659603602
commit
df9b5759f7
5 changed files with 125 additions and 4 deletions
|
@ -1997,6 +1997,10 @@ methodHandle ClassFileParser::parse_method(bool is_interface,
|
|||
verify_legal_method_modifiers(flags, is_interface, name, CHECK_(nullHandle));
|
||||
}
|
||||
|
||||
if (name == vmSymbols::object_initializer_name() && is_interface) {
|
||||
classfile_parse_error("Interface cannot have a method named <init>, class file %s", CHECK_(nullHandle));
|
||||
}
|
||||
|
||||
int args_size = -1; // only used when _need_verify is true
|
||||
if (_need_verify) {
|
||||
args_size = ((flags & JVM_ACC_STATIC) ? 0 : 1) +
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue