diff -r 13588c901957 -r 9cf78a70fa4f src/java.base/share/native/libjava/Class.c --- a/src/java.base/share/native/libjava/Class.c Thu Oct 17 20:27:44 2019 +0100 +++ b/src/java.base/share/native/libjava/Class.c Thu Oct 17 20:53:35 2019 +0100 @@ -35,12 +35,9 @@ #include "jni.h" #include "jni_util.h" #include "jvm.h" +#include "check_classname.h" #include "java_lang_Class.h" -/* defined in libverify.so/verify.dll (src file common/check_format.c) */ -extern jboolean VerifyClassname(char *utf_name, jboolean arrayAllowed); -extern jboolean VerifyFixClassname(char *utf_name); - #define OBJ "Ljava/lang/Object;" #define CLS "Ljava/lang/Class;" #define CPL "Ljdk/internal/reflect/ConstantPool;" @@ -76,6 +73,7 @@ {"getRawTypeAnnotations", "()" BA, (void *)&JVM_GetClassTypeAnnotations}, {"getNestHost0", "()" CLS, (void *)&JVM_GetNestHost}, {"getNestMembers0", "()[" CLS, (void *)&JVM_GetNestMembers}, + {"linkClass", "(" CLS ")V", (void *)&JVM_LinkClass}, }; #undef OBJ @@ -122,14 +120,14 @@ } (*env)->GetStringUTFRegion(env, classname, 0, unicode_len, clname); - if (VerifyFixClassname(clname) == JNI_TRUE) { + if (verifyFixClassname(clname) == JNI_TRUE) { /* slashes present in clname, use name b4 translation for exception */ (*env)->GetStringUTFRegion(env, classname, 0, unicode_len, clname); JNU_ThrowClassNotFoundException(env, clname); goto done; } - if (!VerifyClassname(clname, JNI_TRUE)) { /* expects slashed name */ + if (!verifyClassname(clname, JNI_TRUE)) { /* expects slashed name */ JNU_ThrowClassNotFoundException(env, clname); goto done; }