luehe       2005/05/03 10:24:10

  Modified:    catalina/src/share/org/apache/catalina/core
                        ApplicationContext.java LocalStrings.properties
  Log:
  Prevent NPE when passing null path argument in several places
  
  Revision  Changes    Path
  1.28      +18 -1     
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationContext.java
  
  Index: ApplicationContext.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationContext.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- ApplicationContext.java   17 Mar 2005 10:53:44 -0000      1.27
  +++ ApplicationContext.java   3 May 2005 17:24:10 -0000       1.28
  @@ -355,6 +355,10 @@
           if (!context.isFilesystemBased())
               return null;
   
  +        if (path == null) {
  +            return null;
  +        }
  +
           File file = new File(basePath, path);
           return (file.getAbsolutePath());
   
  @@ -547,6 +551,15 @@
        */
       public Set getResourcePaths(String path) {
   
  +        // Validate the path argument
  +        if (path == null) {
  +            return null;
  +        }
  +        if (!path.startsWith("/")) {
  +            throw new IllegalArgumentException
  +                (sm.getString("applicationContext.resourcePaths.iae", path));
  +        }
  +
           path = normalize(path);
           if (path == null)
               return (null);
  @@ -867,6 +880,10 @@
        */
       private String normalize(String path) {
   
  +        if (path == null) {
  +            return null;
  +        }
  +
           String normalized = path;
   
           // Normalize the slashes and add leading slash if necessary
  
  
  
  1.21      +1 -0      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/LocalStrings.properties
  
  Index: LocalStrings.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/LocalStrings.properties,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- LocalStrings.properties   19 Apr 2005 18:42:29 -0000      1.20
  +++ LocalStrings.properties   3 May 2005 17:24:10 -0000       1.21
  @@ -1,6 +1,7 @@
   applicationContext.attributeEvent=Exception thrown by attributes event 
listener
   applicationContext.mapping.error=Error during mapping
   applicationContext.requestDispatcher.iae=Path {0} does not start with a "/" 
character
  +applicationContext.resourcePaths.iae=Path {0} does not start with a "/" 
character
   applicationContext.setAttribute.namenull=Name cannot be null
   applicationDispatcher.allocateException=Allocate exception for servlet {0}
   applicationDispatcher.deallocateException=Deallocate exception for servlet 
{0}
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to