summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--runtime/reflection.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/runtime/reflection.cc b/runtime/reflection.cc
index a83f5216e3..6ed61f6351 100644
--- a/runtime/reflection.cc
+++ b/runtime/reflection.cc
@@ -799,7 +799,8 @@ bool VerifyAccess(mirror::Object* obj, mirror::Class* declaring_class, uint32_t
visitor.WalkStack();
mirror::Class* caller_class = visitor.caller->GetDeclaringClass();
- if (((access_flags & kAccPublic) != 0) || caller_class == declaring_class) {
+ if ((((access_flags & kAccPublic) != 0) && declaring_class->IsPublic()) ||
+ caller_class == declaring_class) {
return true;
}
if ((access_flags & kAccPrivate) != 0) {