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

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


The following commit(s) were added to refs/heads/main by this push:
     new 85a394c149 More query escaping refactoring
85a394c149 is described below

commit 85a394c149a28298766333625421fa66b8717e68
Author: Mark Thomas <[email protected]>
AuthorDate: Wed Apr 8 13:28:16 2026 +0100

    More query escaping refactoring
---
 .../catalina/valves/AbstractAccessLogValve.java    | 29 ++++++++++------------
 .../catalina/valves/ExtendedAccessLogValve.java    |  2 +-
 2 files changed, 14 insertions(+), 17 deletions(-)

diff --git a/java/org/apache/catalina/valves/AbstractAccessLogValve.java 
b/java/org/apache/catalina/valves/AbstractAccessLogValve.java
index 9780bc372d..e3c3358995 100644
--- a/java/org/apache/catalina/valves/AbstractAccessLogValve.java
+++ b/java/org/apache/catalina/valves/AbstractAccessLogValve.java
@@ -1325,14 +1325,7 @@ public abstract class AbstractAccessLogValve extends 
ValveBase implements Access
                     buf.append(request.getMethod());
                     buf.append(' ');
                     escapeAndAppend(request.getRequestURI(), buf);
-                    String query = request.getQueryString();
-                    if (query != null) {
-                        buf.append('?');
-                        // Don't want to write "-" if the query string is empty
-                        if (!query.isEmpty()) {
-                            escapeAndAppend(query, buf);
-                        }
-                    }
+                    appendQueryString(request.getQueryString(), buf, false);
                     buf.append(' ');
                     buf.append(request.getProtocol());
                 }
@@ -1644,15 +1637,19 @@ public abstract class AbstractAccessLogValve extends 
ValveBase implements Access
             if (request != null) {
                 query = request.getQueryString();
             }
-            if (query != null) {
-                buf.append('?');
-                // Don't want to write "-" if the query string is empty
-                if (!query.isEmpty()) {
-                    escapeAndAppend(query, buf);
-                }
-            } else {
-                buf.append('-');
+            appendQueryString(query, buf, true);
+        }
+    }
+
+    protected static void appendQueryString(String query, CharArrayWriter buf, 
boolean writeDashOnNull) {
+        if (query != null) {
+            buf.append('?');
+            // Don't want to write "-" if the query string is empty
+            if (!query.isEmpty()) {
+                escapeAndAppend(query, buf);
             }
+        } else if (writeDashOnNull) {
+            buf.append('-');
         }
     }
 
diff --git a/java/org/apache/catalina/valves/ExtendedAccessLogValve.java 
b/java/org/apache/catalina/valves/ExtendedAccessLogValve.java
index fe9a285df4..682d4c2557 100644
--- a/java/org/apache/catalina/valves/ExtendedAccessLogValve.java
+++ b/java/org/apache/catalina/valves/ExtendedAccessLogValve.java
@@ -616,7 +616,7 @@ public class ExtendedAccessLogValve extends AccessLogValve {
                                 buf.append('?');
                                 // Don't want to write "-" if the query string 
is present but empty
                                 if (!query.isEmpty()) {
-                                    buf.append(request.getQueryString());
+                                    buf.append(query);
                                 }
                             }
                         } else {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to