Author: remy.maucherat(a)jboss.com
Date: 2011-02-10 04:14:54 -0500 (Thu, 10 Feb 2011)
New Revision: 1652
Modified:
trunk/java/org/apache/catalina/util/RequestUtil.java
Log:
- Better exception when %xx decoding misses some digits.
Modified: trunk/java/org/apache/catalina/util/RequestUtil.java
===================================================================
--- trunk/java/org/apache/catalina/util/RequestUtil.java 2011-02-10 09:14:07 UTC (rev
1651)
+++ trunk/java/org/apache/catalina/util/RequestUtil.java 2011-02-10 09:14:54 UTC (rev
1652)
@@ -306,6 +306,9 @@
if (b == '+' && isQuery) {
b = (byte)' ';
} else if (b == '%') {
+ if (ix + 2 > len) {
+ throw new IllegalArgumentException("%xx URL decode missing
digit");
+ }
b = (byte) ((convertHexDigit(bytes[ix++]) << 4)
+ convertHexDigit(bytes[ix++]));
}
@@ -314,8 +317,8 @@
if (enc != null) {
try {
return new String(bytes, 0, ox, enc);
- } catch (Exception e) {
- e.printStackTrace();
+ } catch (UnsupportedEncodingException e) {
+ return null;
}
}
return new String(bytes, 0, ox);
Show replies by date