changeset 5515:f0f39dbf68aa

8037157: Verify <init> call Summary: Check for null method Reviewed-by: coleenp, acorn, mschoene
author hseigel
date Mon, 07 Apr 2014 09:22:54 -0400
parents 63574c639b1d
children 6f03dfb50363 16b9b3c08181
files src/share/vm/classfile/verifier.cpp
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/classfile/verifier.cpp	Wed Apr 09 14:07:17 2014 -0700
+++ b/src/share/vm/classfile/verifier.cpp	Mon Apr 07 09:22:54 2014 -0400
@@ -2301,6 +2301,11 @@
       methodOop m = instanceKlass::cast(ref_klass)->uncached_lookup_method(
         vmSymbols::object_initializer_name(),
         cp->signature_ref_at(bcs->get_index_u2()));
+      if (m == NULL) {
+        verify_error(ErrorContext::bad_code(bci),
+            "Call to missing <init> method");
+        return;
+      }
       instanceKlassHandle mh(THREAD, m->method_holder());
       if (m->is_protected() && !mh->is_same_class_package(_klass())) {
         bool assignable = current_type().is_assignable_from(