[jboss-cvs] JBossAS SVN: r104272 - projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Apr 27 13:30:27 EDT 2010


Author: kabir.khan at jboss.com
Date: 2010-04-27 13:30:27 -0400 (Tue, 27 Apr 2010)
New Revision: 104272

Modified:
   projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistParameterizedClassInfo.java
   projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java
Log:
[JBREFLECT-5] Security for getClassLoader() and javadoc

Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistParameterizedClassInfo.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistParameterizedClassInfo.java	2010-04-27 17:26:09 UTC (rev 104271)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistParameterizedClassInfo.java	2010-04-27 17:30:27 UTC (rev 104272)
@@ -55,8 +55,10 @@
    /** The factory */
    private final JavassistTypeInfoFactoryImpl factory;
    
+   /** The type infos for the type arguments. They get lazily loaded */
    private volatile TypeInfo[] typeArgumentInfos = ClassInfoImpl.UNKNOWN_TYPES; 
 
+   /** The factory to be used to lazily load up the type infos for the type arguments */
    private final LazyTypeArgumentFactory lazyTypeArgumentFactory;
    
    /**
@@ -108,7 +110,6 @@
    @Override
    public ClassLoader getClassLoader()
    {
-      //TODO secure
       return lazyTypeArgumentFactory.getClassLoader();
    }
 
@@ -267,7 +268,7 @@
 
       public ClassLoader getClassLoader()
       {
-         return ((JavassistTypeInfo)delegate).getClassLoaderInternal();
+         return delegate.getClassLoader();
       } 
    }
    
@@ -323,6 +324,9 @@
 
       public ClassLoader getClassLoader()
       {
+         SecurityManager sm = System.getSecurityManager();
+         if (sm != null)
+            sm.checkPermission(JavassistTypeInfo.GET_CLASSLOADER_PERMISSION);
          return classLoader;
       }
       

Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java	2010-04-27 17:26:09 UTC (rev 104271)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java	2010-04-27 17:30:27 UTC (rev 104272)
@@ -73,7 +73,7 @@
    private static final long serialVersionUID = -5072033691434335775L;
 
    /** The get classloader permission */
-   private static final RuntimePermission GET_CLASSLOADER_PERMISSION = new RuntimePermission("getClassLoader");
+   protected static final RuntimePermission GET_CLASSLOADER_PERMISSION = new RuntimePermission("getClassLoader");
 
    /** The factory */
    private JavassistTypeInfoFactoryImpl factory;




More information about the jboss-cvs-commits mailing list