Updated Branches:
  refs/heads/wicket-1.5.x dff45e1e5 -> 70674289c

WICKET-4715 WebApplication doesn't recognize if an incoming request is 
multipart.

Re-check the already parsed FileItems for max size (set by the form).


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/70674289
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/70674289
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/70674289

Branch: refs/heads/wicket-1.5.x
Commit: 70674289c5df1afce96409b9580aa9034157ac1f
Parents: dff45e1
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Tue Sep 4 09:53:51 2012 +0200
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Tue Sep 4 09:57:42 2012 +0200

----------------------------------------------------------------------
 .../servlet/MultipartServletWebRequestImpl.java    |   16 +++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/70674289/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java
 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java
index 73f109d..2869cec 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java
@@ -35,6 +35,7 @@ import org.apache.wicket.util.string.StringValue;
 import org.apache.wicket.util.upload.DiskFileItemFactory;
 import org.apache.wicket.util.upload.FileItem;
 import org.apache.wicket.util.upload.FileItemFactory;
+import org.apache.wicket.util.upload.FileUploadBase;
 import org.apache.wicket.util.upload.FileUploadException;
 import org.apache.wicket.util.upload.ServletFileUpload;
 import org.apache.wicket.util.upload.ServletRequestContext;
@@ -400,6 +401,21 @@ public class MultipartServletWebRequestImpl extends 
MultipartServletWebRequest
        public MultipartServletWebRequest newMultipartWebRequest(Bytes maxSize, 
String upload)
                throws FileUploadException
        {
+               for (Map.Entry<String, List<FileItem>> entry : files.entrySet())
+               {
+                       List<FileItem> fileItems = entry.getValue();
+                       for (FileItem fileItem : fileItems)
+                       {
+                               if (fileItem.getSize() > maxSize.bytes())
+                               {
+                                       String fieldName = entry.getKey();
+                                       FileUploadException fslex = new 
FileUploadBase.FileSizeLimitExceededException("The field " +
+                                                       fieldName + " exceeds 
its maximum permitted " + " size of " +
+                                                       maxSize + " 
characters.", fileItem.getSize(), maxSize.bytes());
+                                       throw fslex;
+                               }
+                       }
+               }
                return this;
        }
 

Reply via email to