summaryrefslogtreecommitdiff
path: root/runtime/native/java_lang_Class.cc
diff options
context:
space:
mode:
author Mathieu Chartier <mathieuc@google.com> 2015-10-12 22:53:00 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2015-10-12 22:53:00 +0000
commitb2d2d6ae8ad3dcec77bbaf99589cd98a4797f4f3 (patch)
treec30f4bae6bbd0d50151d3a7f2f1679d39b62de70 /runtime/native/java_lang_Class.cc
parent16065ce56394c73c87dcb78ead4164ddc80fddb3 (diff)
parent6cfc2c086c47342fd8f5cb09f565979333066473 (diff)
Merge "Avoid visiting find array class cache as roots"
Diffstat (limited to 'runtime/native/java_lang_Class.cc')
-rw-r--r--runtime/native/java_lang_Class.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/runtime/native/java_lang_Class.cc b/runtime/native/java_lang_Class.cc
index 5da15df25b..3a73900efa 100644
--- a/runtime/native/java_lang_Class.cc
+++ b/runtime/native/java_lang_Class.cc
@@ -522,6 +522,10 @@ static jobjectArray Class_getDeclaredClasses(JNIEnv* env, jobject javaThis) {
}
if (classes == nullptr) {
// Return an empty array instead of a null pointer.
+ if (soa.Self()->IsExceptionPending()) {
+ // Pending exception from GetDeclaredClasses.
+ return nullptr;
+ }
mirror::Class* class_class = mirror::Class::GetJavaLangClass();
mirror::Class* class_array_class =
Runtime::Current()->GetClassLinker()->FindArrayClass(soa.Self(), &class_class);