Author: markt Date: Mon Apr 11 21:33:56 2016 New Revision: 1738650 URL: http://svn.apache.org/viewvc?rev=1738650&view=rev Log: Avoid NPE in some error conditions / edge cases
Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationMapping.java Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationMapping.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationMapping.java?rev=1738650&r1=1738649&r2=1738650&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/ApplicationMapping.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/ApplicationMapping.java Mon Apr 11 21:33:56 2016 @@ -33,35 +33,36 @@ public class ApplicationMapping { public Mapping getMapping() { if (mapping == null) { + String servletName; + if (mappingData.wrapper == null) { + servletName = ""; + } else { + servletName = mappingData.wrapper.getName(); + } switch (mappingData.matchType) { case CONTEXT_ROOT: - mapping = new MappingImpl("", "", mappingData.matchType, - mappingData.wrapper.getName()); + mapping = new MappingImpl("", "", mappingData.matchType, servletName); break; case DEFAULT: - mapping = new MappingImpl("/", "/", mappingData.matchType, - mappingData.wrapper.getName()); + mapping = new MappingImpl("/", "/", mappingData.matchType, servletName); break; case EXACT: mapping = new MappingImpl(mappingData.wrapperPath.toString(), - mappingData.wrapperPath.toString(), mappingData.matchType, - mappingData.wrapper.getName()); + mappingData.wrapperPath.toString(), mappingData.matchType, servletName); break; case EXTENSION: String path = mappingData.wrapperPath.toString(); int extIndex = path.lastIndexOf('.'); mapping = new MappingImpl(path.substring(0, extIndex), - "*" + path.substring(extIndex), mappingData.matchType, - mappingData.wrapper.getName()); + "*" + path.substring(extIndex), mappingData.matchType, servletName); break; case PATH: mapping = new MappingImpl(mappingData.pathInfo.toString(), mappingData.wrapperPath.toString() + "/*", - mappingData.matchType, mappingData.wrapper.getName()); + mappingData.matchType, servletName); break; case UNKNOWN: - mapping = new MappingImpl("", "", mappingData.matchType, - mappingData.wrapper.getName()); + mapping = new MappingImpl("", "", mappingData.matchType, servletName); break; } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org