--- a/hotspot/src/share/vm/prims/jvm.cpp Tue Jan 15 13:32:13 2013 +0100
+++ b/hotspot/src/share/vm/prims/jvm.cpp Tue Jan 15 10:09:45 2013 +0100
@@ -1582,8 +1582,11 @@
if (!java_lang_Class::is_primitive(JNIHandles::resolve(cls))) {
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve(cls));
if (k->oop_is_instance()) {
- typeArrayOop a = Annotations::make_java_array(InstanceKlass::cast(k)->type_annotations()->class_annotations(), CHECK_NULL);
- return (jbyteArray) JNIHandles::make_local(env, a);
+ Annotations* type_annotations = InstanceKlass::cast(k)->type_annotations();
+ if (type_annotations != NULL) {
+ typeArrayOop a = Annotations::make_java_array(type_annotations->class_annotations(), CHECK_NULL);
+ return (jbyteArray) JNIHandles::make_local(env, a);
+ }
}
}
return NULL;