This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 8baba6eed2f7bcb50253970d6f617f73b1ea27eb
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Tue Oct 22 09:22:36 2024 +0100

    Return immediately if the request is invalid
    
    Fixes possible NPEs
---
 java/org/apache/catalina/servlets/WebdavServlet.java | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java 
b/java/org/apache/catalina/servlets/WebdavServlet.java
index 5afac2ac61..36e83eb5fe 100644
--- a/java/org/apache/catalina/servlets/WebdavServlet.java
+++ b/java/org/apache/catalina/servlets/WebdavServlet.java
@@ -981,12 +981,14 @@ public class WebdavServlet extends DefaultServlet 
implements PeriodicEventListen
 
                 if (lock.scope == null) {
                     // Bad request
-                    resp.setStatus(WebdavStatus.SC_BAD_REQUEST);
+                    resp.sendError(WebdavStatus.SC_BAD_REQUEST);
+                    return;
                 }
 
             } else {
                 // Bad request
-                resp.setStatus(WebdavStatus.SC_BAD_REQUEST);
+                resp.sendError(WebdavStatus.SC_BAD_REQUEST);
+                return;
             }
 
             if (lockTypeNode != null) {
@@ -1005,12 +1007,14 @@ public class WebdavServlet extends DefaultServlet 
implements PeriodicEventListen
 
                 if (lock.type == null) {
                     // Bad request
-                    resp.setStatus(WebdavStatus.SC_BAD_REQUEST);
+                    resp.sendError(WebdavStatus.SC_BAD_REQUEST);
+                    return;
                 }
 
             } else {
                 // Bad request
-                resp.setStatus(WebdavStatus.SC_BAD_REQUEST);
+                resp.sendError(WebdavStatus.SC_BAD_REQUEST);
+                return;
             }
 
             if (lockOwnerNode != null) {
@@ -1033,7 +1037,8 @@ public class WebdavServlet extends DefaultServlet 
implements PeriodicEventListen
 
                 if (lock.owner == null) {
                     // Bad request
-                    resp.setStatus(WebdavStatus.SC_BAD_REQUEST);
+                    resp.sendError(WebdavStatus.SC_BAD_REQUEST);
+                    return;
                 }
 
             } else {
@@ -1204,7 +1209,8 @@ public class WebdavServlet extends DefaultServlet 
implements PeriodicEventListen
             String ifHeader = req.getHeader("If");
             if (ifHeader == null) {
                 // Bad request
-                resp.setStatus(WebdavStatus.SC_BAD_REQUEST);
+                resp.sendError(WebdavStatus.SC_BAD_REQUEST);
+                return;
             }
 
             // Checking resource locks


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to