File tomcat-8.0.43-CVE-2017-5664.patch of Package tomcat.5927

Index: java/org/apache/catalina/servlets/WebdavServlet.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- java/org/apache/catalina/servlets/WebdavServlet.java	(date 1490711901000)
+++ java/org/apache/catalina/servlets/WebdavServlet.java	(revision )
@@ -30,6 +30,7 @@
 import java.util.TimeZone;
 import java.util.Vector;
 
+import javax.servlet.DispatcherType;
 import javax.servlet.RequestDispatcher;
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
@@ -311,6 +312,11 @@
             resp.sendError(WebdavStatus.SC_NOT_FOUND);
             return;
         }
+
+        if (req.getDispatcherType() == DispatcherType.ERROR) {
+            doGet(req, resp);
+            return;
+        }
 
         final String method = req.getMethod();
 
Index: java/org/apache/catalina/servlets/DefaultServlet.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- java/org/apache/catalina/servlets/DefaultServlet.java	(date 1490711901000)
+++ java/org/apache/catalina/servlets/DefaultServlet.java	(revision )
@@ -380,6 +380,18 @@
     }
 
 
+    @Override
+    protected void service(HttpServletRequest req, HttpServletResponse resp)
+            throws ServletException, IOException {
+
+        if (req.getDispatcherType() == DispatcherType.ERROR) {
+            doGet(req, resp);
+        } else {
+            super.service(req, resp);
+        }
+    }
+
+
     /**
      * Process a GET request for the specified resource.
      *
@@ -760,7 +772,7 @@
             return;
         }
 
-        boolean isError = response.getStatus() >= HttpServletResponse.SC_BAD_REQUEST;
+        boolean isError = DispatcherType.ERROR == request.getDispatcherType();
 
         boolean included = false;
         // Check if the conditions specified in the optional If headers are
openSUSE Build Service is sponsored by