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