You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2014/08/21 22:39:56 UTC

svn commit: r1619571 - /maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/exec/DefaultCheckstyleExecutor.java

Author: rfscholte
Date: Thu Aug 21 20:39:56 2014
New Revision: 1619571

URL: http://svn.apache.org/r1619571
Log:
Fix Bad practice - Classloaders should only be created inside doPrivileged block

Modified:
    maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/exec/DefaultCheckstyleExecutor.java

Modified: maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/exec/DefaultCheckstyleExecutor.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/exec/DefaultCheckstyleExecutor.java?rev=1619571&r1=1619570&r2=1619571&view=diff
==============================================================================
--- maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/exec/DefaultCheckstyleExecutor.java (original)
+++ maven/plugins/trunk/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/exec/DefaultCheckstyleExecutor.java Thu Aug 21 20:39:56 2014
@@ -27,6 +27,8 @@ import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -163,7 +165,7 @@ public class DefaultCheckstyleExecutor
                                     testSourceDirectories );
         }
 
-        List<URL> urls = new ArrayList<URL>( classPathStrings.size() );
+        final List<URL> urls = new ArrayList<URL>( classPathStrings.size() );
 
         for ( String path : classPathStrings )
         {
@@ -200,7 +202,14 @@ public class DefaultCheckstyleExecutor
             }
         }
 
-        URLClassLoader projectClassLoader = new URLClassLoader( urls.toArray( new URL[urls.size()] ), null );
+        URLClassLoader projectClassLoader = AccessController.doPrivileged( new PrivilegedAction<URLClassLoader>()
+        {
+            public URLClassLoader run()
+            {
+                return new URLClassLoader( urls.toArray( new URL[urls.size()] ), null );
+            }
+        } );
+
         checker.setClassloader( projectClassLoader );
 
         checker.setModuleClassLoader( Thread.currentThread().getContextClassLoader() );