Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48318
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Fri, 12 Feb 2010 22:12:48 +0000 (22:12 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Fri, 12 Feb 2010 22:12:48 +0000 (22:12 +0000)
Handle case where WebDAV resource is in directory listing but is not accessible

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@909636 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/servlets/WebdavServlet.java

index 1881d7e..5c033ee 100644 (file)
@@ -2039,6 +2039,11 @@ public class WebdavServlet
             return;
 
         CacheEntry cacheEntry = resources.lookupCache(path);
+        if (!cacheEntry.exists) {
+               // File is in directory listing but doesn't appear to exist
+               // Broken symlink or odd permission settings?
+               return;
+        }
 
         generatedXML.writeElement(null, "response", XMLWriter.OPENING);
         String status = new String("HTTP/1.1 " + WebdavStatus.SC_OK + " "