Review getParameterXXX() - invalid parameters + debug should not fail
diff --git a/java/org/apache/catalina/filters/RequestDumperFilter.java b/java/org/apache/catalina/filters/RequestDumperFilter.java
index fc76581..28d6395 100644
--- a/java/org/apache/catalina/filters/RequestDumperFilter.java
+++ b/java/org/apache/catalina/filters/RequestDumperFilter.java
@@ -134,19 +134,23 @@
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 e1cda7b..c4c967f 100644
--- a/java/org/apache/catalina/servlets/CGIServlet.java
+++ b/java/org/apache/catalina/servlets/CGIServlet.java
@@ -470,12 +470,17 @@
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() + "]");