You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by vi...@apache.org on 2013/12/18 20:28:21 UTC
svn commit: r1552071 - in /tomcat/trunk/java/org/apache/jasper:
resources/LocalStrings.properties servlet/TldScanner.java
Author: violetagg
Date: Wed Dec 18 19:28:21 2013
New Revision: 1552071
URL: http://svn.apache.org/r1552071
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=55905
Prevent NPE when the specified tld resource does not exists.
Modified:
tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties
tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java
Modified: tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties?rev=1552071&r1=1552070&r2=1552071&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties Wed Dec 18 19:28:21 2013
@@ -402,4 +402,4 @@ org.apache.jasper.compiler.TldCache.serv
org.apache.jasper.servlet.JasperInitializer.onStartup=Initializing Jasper for context [{0}]
org.apache.jasper.servlet.TldScanner.webxmlSkip=Skipping load of TLD for URI {1} from resource path {0} as it has already been defined in <jsp-config>
org.apache.jasper.servlet.TldScanner.webxmlAdd=Loading TLD for URI {1} from resource path {0}
-
+org.apache.jasper.servlet.TldScanner.webxmlFailPathDoesNotExist=Failed to process TLD with path [{0}] and URI [{1}]. The specified path does not exist.
Modified: tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java?rev=1552071&r1=1552070&r2=1552071&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java (original)
+++ tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java Wed Dec 18 19:28:21 2013
@@ -175,21 +175,27 @@ public class TldScanner {
}
URL url = context.getResource(resourcePath);
- TldResourcePath tldResourcePath;
- if (resourcePath.endsWith(".jar")) {
- // if the path points to a jar file, the TLD is presumed to be
- // inside at META-INF/taglib.tld
- tldResourcePath = new TldResourcePath(
- url, resourcePath, "META-INF/taglib.tld");
+ if (url != null) {
+ TldResourcePath tldResourcePath;
+ if (resourcePath.endsWith(".jar")) {
+ // if the path points to a jar file, the TLD is presumed to be
+ // inside at META-INF/taglib.tld
+ tldResourcePath = new TldResourcePath(url, resourcePath, "META-INF/taglib.tld");
+ } else {
+ tldResourcePath = new TldResourcePath(url, resourcePath);
+ }
+ // parse TLD but store using the URI supplied in the descriptor
+ TaglibXml tld = tldParser.parse(tldResourcePath);
+ uriTldResourcePathMap.put(taglibURI, tldResourcePath);
+ tldResourcePathTaglibXmlMap.put(tldResourcePath, tld);
+ if (tld.getListeners() != null) {
+ listeners.addAll(tld.getListeners());
+ }
} else {
- tldResourcePath = new TldResourcePath(url, resourcePath);
- }
- // parse TLD but store using the URI supplied in the descriptor
- TaglibXml tld = tldParser.parse(tldResourcePath);
- uriTldResourcePathMap.put(taglibURI, tldResourcePath);
- tldResourcePathTaglibXmlMap.put(tldResourcePath, tld);
- if (tld.getListeners() != null) {
- listeners.addAll(tld.getListeners());
+ log.warn(Localizer.getMessage(MSG + ".webxmlFailPathDoesNotExist",
+ resourcePath,
+ taglibURI));
+ continue;
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org