Author: markt Date: Fri Apr 25 10:53:44 2014 New Revision: 1589985 URL: http://svn.apache.org/r1589985 Log: Parser uses lazy init so move creation of parser inside the block that uses the container class loader.
Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java?rev=1589985&r1=1589984&r2=1589985&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/TagPluginManager.java Fri Apr 25 10:53:44 2014 @@ -94,16 +94,6 @@ public class TagPluginManager { parser = new TagPluginParser(ctxt, blockExternal); - } finally { - if (Constants.IS_SECURITY_ENABLED) { - PrivilegedSetTccl pa = new PrivilegedSetTccl(original); - AccessController.doPrivileged(pa); - } else { - Thread.currentThread().setContextClassLoader(original); - } - } - - try { Enumeration<URL> urls = ctxt.getClassLoader().getResources(META_INF_JASPER_TAG_PLUGINS_XML); if (urls != null) { @@ -119,6 +109,13 @@ public class TagPluginManager { } } catch (IOException | SAXException e) { throw new JasperException(e); + } finally { + if (Constants.IS_SECURITY_ENABLED) { + PrivilegedSetTccl pa = new PrivilegedSetTccl(original); + AccessController.doPrivileged(pa); + } else { + Thread.currentThread().setContextClassLoader(original); + } } Map<String, String> plugins = parser.getPlugins(); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org