[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