[jboss-cvs] javassist/src/main/javassist ...
Kabir Khan
kkhan at jboss.com
Wed Aug 16 06:38:17 EDT 2006
User: kkhan
Date: 06/08/16 06:38:17
Modified: src/main/javassist ClassPool.java
Log:
Class.gerDeclaredMethod() needs to happen in a privileged block
Revision Changes Path
1.57 +18 -10 javassist/src/main/javassist/ClassPool.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ClassPool.java
===================================================================
RCS file: /cvsroot/jboss/javassist/src/main/javassist/ClassPool.java,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -b -r1.56 -r1.57
--- ClassPool.java 14 Aug 2006 14:48:47 -0000 1.56
+++ ClassPool.java 16 Aug 2006 10:38:17 -0000 1.57
@@ -21,6 +21,9 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
import java.security.ProtectionDomain;
import java.util.Hashtable;
import java.util.Iterator;
@@ -67,6 +70,8 @@
static {
try {
+ AccessController.doPrivileged(new PrivilegedExceptionAction(){
+ public Object run() throws Exception{
Class cl = Class.forName("java.lang.ClassLoader");
defineClass1 = cl.getDeclaredMethod("defineClass",
new Class[] { String.class, byte[].class,
@@ -75,9 +80,12 @@
defineClass2 = cl.getDeclaredMethod("defineClass",
new Class[] { String.class, byte[].class,
int.class, int.class, ProtectionDomain.class });
+ return null;
}
- catch (Exception e) {
- throw new RuntimeException("cannot initialize ClassPool");
+ });
+ }
+ catch (PrivilegedActionException pae) {
+ throw new RuntimeException("cannot initialize ClassPool", pae.getException());
}
}
More information about the jboss-cvs-commits
mailing list