You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2012/09/04 09:57:06 UTC
[3/3] git commit: WICKET-4715 WebApplication doesn't recognize if an
incoming request is multipart.
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/e08887d3
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/e08887d3
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/e08887d3
Branch: refs/heads/master
Commit: e08887d36d8478ae07a31f4f48e453e5adcbcfd9
Parents: 5468b0f
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Tue Sep 4 09:53:51 2012 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Tue Sep 4 09:56:50 2012 +0200
----------------------------------------------------------------------
.../servlet/MultipartServletWebRequestImpl.java | 16 +++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/e08887d3/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 80d8dec..055b31b 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;
@@ -402,6 +403,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;
}