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

commit 32b48cadc3a51b1770d76902901b3541a987ae41
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Sun Aug 20 16:37:20 2023 -0700

    Review getParameterXXX() - invalid parameters + debug should not fail
---
 .../catalina/filters/RequestDumperFilter.java      | 26 +++++++++++++---------
 java/org/apache/catalina/servlets/CGIServlet.java  | 15 ++++++++-----
 2 files changed, 25 insertions(+), 16 deletions(-)

diff --git a/java/org/apache/catalina/filters/RequestDumperFilter.java 
b/java/org/apache/catalina/filters/RequestDumperFilter.java
index fc76581a4d..28d6395c57 100644
--- a/java/org/apache/catalina/filters/RequestDumperFilter.java
+++ b/java/org/apache/catalina/filters/RequestDumperFilter.java
@@ -134,19 +134,23 @@ public class RequestDumperFilter extends GenericFilter {
             doLog("            method", hRequest.getMethod());
         }
 
-        Enumeration<String> pnames = request.getParameterNames();
-        while (pnames.hasMoreElements()) {
-            String pname = pnames.nextElement();
-            String pvalues[] = request.getParameterValues(pname);
-            StringBuilder result = new StringBuilder(pname);
-            result.append('=');
-            for (int i = 0; i < pvalues.length; i++) {
-                if (i > 0) {
-                    result.append(", ");
+        try {
+            Enumeration<String> pnames = request.getParameterNames();
+            while (pnames.hasMoreElements()) {
+                String pname = pnames.nextElement();
+                String pvalues[] = request.getParameterValues(pname);
+                StringBuilder result = new StringBuilder(pname);
+                result.append('=');
+                for (int i = 0; i < pvalues.length; i++) {
+                    if (i > 0) {
+                        result.append(", ");
+                    }
+                    result.append(pvalues[i]);
                 }
-                result.append(pvalues[i]);
+                doLog("         parameter", result.toString());
             }
-            doLog("         parameter", result.toString());
+        } catch (IllegalStateException ise) {
+            doLog("        parameters", "Invalid request parameters");
         }
 
         if (hRequest == null) {
diff --git a/java/org/apache/catalina/servlets/CGIServlet.java 
b/java/org/apache/catalina/servlets/CGIServlet.java
index e1cda7bb97..c4c967fd36 100644
--- a/java/org/apache/catalina/servlets/CGIServlet.java
+++ b/java/org/apache/catalina/servlets/CGIServlet.java
@@ -470,12 +470,17 @@ public final class CGIServlet extends HttpServlet {
             Locale locale = locales.nextElement();
             log.trace("Locale: [" +locale + "]");
         }
-        Enumeration<String> params = req.getParameterNames();
-        while (params.hasMoreElements()) {
-            String param = params.nextElement();
-            for (String value : req.getParameterValues(param)) {
-                log.trace("Request Parameter: " + param + ":  [" + value + 
"]");
+        Enumeration<String> params;
+        try {
+            params = req.getParameterNames();
+            while (params.hasMoreElements()) {
+                String param = params.nextElement();
+                for (String value : req.getParameterValues(param)) {
+                    log.trace("Request Parameter: " + param + ":  [" + value + 
"]");
+                }
             }
+        } catch (IllegalStateException ise) {
+            log.trace("Request Parameters: [Invalid]");
         }
         log.trace("Protocol: [" + req.getProtocol() + "]");
         log.trace("Remote Address: [" + req.getRemoteAddr() + "]");


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

Reply via email to