# HG changeset patch # User kamg # Date 1336075036 14400 # Node ID 058d6563e93a0839956c6ef3d895625d6d0099ce # Parent 8f86ad60699bc724acfa9273b616e81c09c0ee7b 7160757: Problem with hotspot/runtime_classfile Summary: Allow only current and super invokespecials of Reviewed-by: never, coleenp, dcubed diff -r 8f86ad60699b -r 058d6563e93a src/share/vm/classfile/verifier.cpp --- a/src/share/vm/classfile/verifier.cpp Wed Apr 11 17:38:20 2012 -0700 +++ b/src/share/vm/classfile/verifier.cpp Thu May 03 15:57:16 2012 -0400 @@ -1880,10 +1880,10 @@ VerificationType type = current_frame->pop_stack( VerificationType::reference_check(), CHECK_VERIFY(this)); if (type == VerificationType::uninitialized_this_type()) { - // The method must be an method of either this class, or one of its - // superclasses + // The method must be an method of this class or its superclass + klassOop superk = current_class()->super(); if (ref_class_type.name() != current_class()->name() && - !name_in_supers(ref_class_type.name(), current_class())) { + ref_class_type.name() != superk->klass_part()->name()) { verify_error(bci, "Bad method call"); return; }