This is an automated email from the ASF dual-hosted git repository. chtompki pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-fileupload.git
The following commit(s) were added to refs/heads/master by this push: new d7518ac FILEUPLOAD-292: Don't create un-needed resources d7518ac is described below commit d7518ac9ecc80f5c6d4ed1324ec0becd81c320dd Author: Rob Tompkins <chtom...@apache.org> AuthorDate: Thu Dec 20 14:25:44 2018 -0500 FILEUPLOAD-292: Don't create un-needed resources --- src/changes/changes.xml | 1 + .../org/apache/commons/fileupload/FileUploadBase.java | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 5ca419e..22cb8e4 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -44,6 +44,7 @@ The <action> type attribute can be add,update,fix,remove. <body> <release version="1.4" date="2017-06-03" description="1.4 Release"> + <action issue="FILEUPLOAD-292" dev="chtompki" type="update">Don't create un-needed resources in FileUploadBase.java</action> <action issue="FILEUPLOAD-282" dev="chtompki" type="update">Upversion complier.source, compiler.target to 1.6</action> <action issue="FILEUPLOAD-252" dev="tn" type="fix">DiskFileItem#write() could lose original IO exception</action> <action issue="FILEUPLOAD-258" dev="tn" type="fix">DiskFileItem#getStoreLocation() wrongly returned a File object for items stored in memory</action> diff --git a/src/main/java/org/apache/commons/fileupload/FileUploadBase.java b/src/main/java/org/apache/commons/fileupload/FileUploadBase.java index 13e8791..aaad4d2 100644 --- a/src/main/java/org/apache/commons/fileupload/FileUploadBase.java +++ b/src/main/java/org/apache/commons/fileupload/FileUploadBase.java @@ -764,20 +764,23 @@ public abstract class FileUploadBase { fieldName = pFieldName; contentType = pContentType; formField = pFormField; - final ItemInputStream itemStream = multi.newInputStream(); - InputStream istream = itemStream; - if (fileSizeMax != -1) { + if (fileSizeMax != -1) { // Check if limit is already exceeded if (pContentLength != -1 - && pContentLength > fileSizeMax) { + && pContentLength > fileSizeMax) { FileSizeLimitExceededException e = - new FileSizeLimitExceededException( - format("The field %s exceeds its maximum permitted size of %s bytes.", - fieldName, Long.valueOf(fileSizeMax)), - pContentLength, fileSizeMax); + new FileSizeLimitExceededException( + format("The field %s exceeds its maximum permitted size of %s bytes.", + fieldName, Long.valueOf(fileSizeMax)), + pContentLength, fileSizeMax); e.setFileName(pName); e.setFieldName(pFieldName); throw new FileUploadIOException(e); } + } + // OK to construct stream now + final ItemInputStream itemStream = multi.newInputStream(); + InputStream istream = itemStream; + if (fileSizeMax != -1) { istream = new LimitedInputStream(istream, fileSizeMax) { @Override protected void raiseError(long pSizeMax, long pCount)