Mantis - Resin
Viewing Issue Advanced Details
6172 major always 07-17-18 01:59 07-20-18 13:53
waiwong  
ferg  
normal  
closed 4.0.57  
fixed  
none    
none 4.0.58  
0006172: request parameters not kept immutable
Consider the following test.jsp:

<%@ page language="java"%><%
        out.println("values for parameter t (before changin):
");
        for (String s : request.getParameterValues("t")) out.println(s + "
");
        
        // update array got from getParameterValues
        String[] t = request.getParameterValues("t");
        for (int i=0; i<t.length; i++) t[i] += "xx";
        
        out.println("values for parameter t (after changing):
");
        for (String s : request.getParameterValues("t")) out.println(s + "
");
%>

The output with test.jsp?t=123&t=456 is

values for parameter t (before changing):
123
233
values for parameter t (after changing):
123xx
233xx

The middle 2 lines change the array returned from request.getParametersValues(), but request should be kept immutable.
Tomcat gives the result as:

values for parameter t (before changing):
123
233
values for parameter t (after changing):
123
233

There are no notes attached to this issue.