mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 02:54:35 +02:00
8031427: AllocObject and Unsafe.allocateInstance segfault for primitive types
The fix just throws an InstantiationException if the Klass is NULL. Reviewed-by: coleenp, twisti, jrose
This commit is contained in:
parent
38fe1c531a
commit
90a44b778d
1 changed files with 4 additions and 0 deletions
|
@ -1355,6 +1355,10 @@ static void jni_invoke_nonstatic(JNIEnv *env, JavaValue* result, jobject receive
|
|||
|
||||
static instanceOop alloc_object(jclass clazz, TRAPS) {
|
||||
KlassHandle k(THREAD, java_lang_Class::as_Klass(JNIHandles::resolve_non_null(clazz)));
|
||||
if (k == NULL) {
|
||||
ResourceMark rm(THREAD);
|
||||
THROW_(vmSymbols::java_lang_InstantiationException(), NULL);
|
||||
}
|
||||
k()->check_valid_for_instantiation(false, CHECK_NULL);
|
||||
InstanceKlass::cast(k())->initialize(CHECK_NULL);
|
||||
instanceOop ih = InstanceKlass::cast(k())->allocate_instance(THREAD);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue