diff options
author | martin <none@none> | 2008-10-24 20:34:40 -0700 |
---|---|---|
committer | martin <none@none> | 2008-10-24 20:34:40 -0700 |
commit | 02e47608ec6eea68bd94d1eb16e2237bc5e368d7 (patch) | |
tree | 5e2c19d5e7f755a74d6dcbe4ea5ad1760e6580ad /src/share/classes/sun/reflect | |
parent | 6943bfe0f7290399e8cc4241286182e97e88d0a7 (diff) |
6761678: (ann) SecurityException in AnnotationInvocationHandler.getMemberMethods
Summary: Move call to getDeclaredMethods inside doPrivileged
Reviewed-by: darcy, mullan
Contributed-by: jjb@google.com
Diffstat (limited to 'src/share/classes/sun/reflect')
-rw-r--r-- | src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java b/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java index 05361fca4..3b5d8f74d 100644 --- a/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java +++ b/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java @@ -272,14 +272,14 @@ class AnnotationInvocationHandler implements InvocationHandler, Serializable { */ private Method[] getMemberMethods() { if (memberMethods == null) { - final Method[] mm = type.getDeclaredMethods(); - AccessController.doPrivileged(new PrivilegedAction<Void>() { - public Void run() { - AccessibleObject.setAccessible(mm, true); - return null; - } - }); - memberMethods = mm; + memberMethods = AccessController.doPrivileged( + new PrivilegedAction<Method[]>() { + public Method[] run() { + final Method[] mm = type.getDeclaredMethods(); + AccessibleObject.setAccessible(mm, true); + return mm; + } + }); } return memberMethods; } |