StrutsPrepareAndExecuteFilter accesses request parameters before setting 
request encoding
-----------------------------------------------------------------------------------------

                 Key: WW-3075
                 URL: https://issues.apache.org/struts/browse/WW-3075
             Project: Struts 2
          Issue Type: Bug
          Components: Dispatch Filter
    Affects Versions: 2.1.6
            Reporter: Roman Shevchenko


In StrutsPrepareAndExecuteFilter.doFilter(), method 
PrepareOperations.createActionContext() is called before 
PrepareOperations.setEncodingAndLocale() one. This causes population of value 
stack with incorrect data. Same problem exists in StrutsPrepareFilter.

Suggested patch:
--- StrutsPrepareAndExecuteFilter.java  Mon Jan 05 20:00:24 2009
+++ StrutsPrepareAndExecuteFilter.java  Sun Apr 05 18:01:18 2009
@@ -62,9 +62,9 @@
         HttpServletResponse response = (HttpServletResponse) res;
 
         try {
+            prepare.setEncodingAndLocale(request, response);
             prepare.createActionContext(request, response);
             prepare.assignDispatcherToThread();
-            prepare.setEncodingAndLocale(request, response);
             request = prepare.wrapRequest(request);
             ActionMapping mapping = prepare.findActionMapping(request, 
response);
             if (mapping == null) {

--- StrutsPrepareFilter.java    Mon Jan 05 20:00:24 2009
+++ StrutsPrepareFilter.java    Sun Apr 05 18:01:34 2009
@@ -56,9 +56,9 @@
         HttpServletResponse response = (HttpServletResponse) res;
 
         try {
+            prepare.setEncodingAndLocale(request, response);
             prepare.createActionContext(request, response);
             prepare.assignDispatcherToThread();
-            prepare.setEncodingAndLocale(request, response);
             request = prepare.wrapRequest(request);
             prepare.findActionMapping(request, response);
 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to