You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2016/04/11 23:33:56 UTC

svn commit: r1738650 - /tomcat/trunk/java/org/apache/catalina/core/ApplicationMapping.java

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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org