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() );