amyroh 2003/02/14 14:23:04 Modified: catalina/src/share/org/apache/catalina/util RequestUtil.java Log: Use the specified encoding to extract bytes out of the given string so that the encoding is not lost. If an encoding is not specified, let it use the platform default encoding. Fixes bugtraq 4697359. Revision Changes Path 1.3 +29 -10 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/RequestUtil.java Index: RequestUtil.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/util/RequestUtil.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- RequestUtil.java 14 Feb 2003 22:04:47 -0000 1.2 +++ RequestUtil.java 14 Feb 2003 22:23:04 -0000 1.3 @@ -331,9 +331,20 @@ throws UnsupportedEncodingException { if ((data != null) && (data.length() > 0)) { - int len = data.length(); - byte[] bytes = new byte[len]; - data.getBytes(0, len, bytes, 0); + + // use the specified encoding to extract bytes out of the + // given string so that the encoding is not lost. If an + // encoding is not specified, let it use platform default + byte[] bytes = null; + try { + if (encoding == null) { + bytes = data.getBytes(); + } else { + bytes = data.getBytes(encoding); + } + } catch (UnsupportedEncodingException uee) { + } + parseParameters(map, bytes, encoding); } @@ -371,9 +382,17 @@ if (str == null) return (null); - int len = str.length(); - byte[] bytes = new byte[len]; - str.getBytes(0, len, bytes, 0); + // use the specified encoding to extract bytes out of the + // given string so that the encoding is not lost. If an + // encoding is not specified, let it use platform default + byte[] bytes = null; + try { + if (enc == null) { + bytes = str.getBytes(); + } else { + bytes = str.getBytes(enc); + } + } catch (UnsupportedEncodingException uee) {} return URLDecode(bytes, enc);
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]