From 1f382473344ba0b5c202595cba6b09fd11c3ed08 Mon Sep 17 00:00:00 2001 From: edwin Date: Mon, 13 Mar 2006 08:02:58 +0000 Subject: [PATCH] * src/native/vm/VMClass.c (Java_java_lang_VMClass_getComponentType): Link class before accessing c->vftbl->arraydesc. --- src/native/vm/VMClass.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/native/vm/VMClass.c b/src/native/vm/VMClass.c index eadb295ff..c8f1e49b5 100644 --- a/src/native/vm/VMClass.c +++ b/src/native/vm/VMClass.c @@ -30,7 +30,7 @@ Christian Thalinger Edwin Steiner - $Id: VMClass.c 4588 2006-03-13 07:06:46Z edwin $ + $Id: VMClass.c 4589 2006-03-13 08:02:58Z edwin $ */ @@ -158,6 +158,14 @@ JNIEXPORT java_lang_Class* JNICALL Java_java_lang_VMClass_getComponentType(JNIEn arraydescriptor *desc; c = (classinfo *) klass; + + /* XXX maybe we could find a way to do this without linking. */ + /* This way should be safe and easy, however. */ + + if (!(c->state & CLASS_LINKED)) + if (!link_class(c)) + return NULL; + desc = c->vftbl->arraydesc; if (desc == NULL) -- 2.25.1