diff --git a/substratevm/src/com.oracle.svm.jvmtiagentbase/src/com/oracle/svm/jvmtiagentbase/Support.java b/substratevm/src/com.oracle.svm.jvmtiagentbase/src/com/oracle/svm/jvmtiagentbase/Support.java index 0a327856f45..fef3db015b9 100644 --- a/substratevm/src/com.oracle.svm.jvmtiagentbase/src/com/oracle/svm/jvmtiagentbase/Support.java +++ b/substratevm/src/com.oracle.svm.jvmtiagentbase/src/com/oracle/svm/jvmtiagentbase/Support.java @@ -211,8 +211,11 @@ public static JNIObjectHandle getReceiver(JNIObjectHandle thread) { public static String getClassNameOr(JNIEnvironment env, JNIObjectHandle clazz, String forNullHandle, String forNullNameOrException) { if (clazz.notEqual(nullHandle())) { JNIObjectHandle clazzName = callObjectMethod(env, clazz, JvmtiAgentBase.singleton().handles().javaLangClassGetName); + if (clearException(env)) { + return forNullNameOrException; + } String result = Support.fromJniString(env, clazzName); - if (result == null || clearException(env)) { + if (result == null) { result = forNullNameOrException; } return result;