Return-Path: Delivered-To: apmail-commons-commits-archive@locus.apache.org Received: (qmail 5637 invoked from network); 18 Jan 2009 01:40:39 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 18 Jan 2009 01:40:39 -0000 Received: (qmail 56390 invoked by uid 500); 18 Jan 2009 01:40:38 -0000 Delivered-To: apmail-commons-commits-archive@commons.apache.org Received: (qmail 56325 invoked by uid 500); 18 Jan 2009 01:40:37 -0000 Mailing-List: contact commits-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@commons.apache.org Delivered-To: mailing list commits@commons.apache.org Received: (qmail 56316 invoked by uid 99); 18 Jan 2009 01:40:37 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 17 Jan 2009 17:40:37 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 18 Jan 2009 01:40:35 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 761AC2388986; Sat, 17 Jan 2009 17:40:14 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r735370 - in /commons/proper/fileupload/trunk: pom.xml src/changes/changes.xml src/java/org/apache/commons/fileupload/FileUploadBase.java Date: Sun, 18 Jan 2009 01:40:14 -0000 To: commits@commons.apache.org From: jochen@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090118014014.761AC2388986@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jochen Date: Sat Jan 17 17:40:13 2009 New Revision: 735370 URL: http://svn.apache.org/viewvc?rev=735370&view=rev Log: PR: FILEUPLOAD-160 Submitted-By: Stepan Koltsov Temporary files have not been deleted, if an error occurred in FileUploadBase.parseRequest. Modified: commons/proper/fileupload/trunk/pom.xml commons/proper/fileupload/trunk/src/changes/changes.xml commons/proper/fileupload/trunk/src/java/org/apache/commons/fileupload/FileUploadBase.java Modified: commons/proper/fileupload/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/fileupload/trunk/pom.xml?rev=735370&r1=735369&r2=735370&view=diff ============================================================================== --- commons/proper/fileupload/trunk/pom.xml (original) +++ commons/proper/fileupload/trunk/pom.xml Sat Jan 17 17:40:13 2009 @@ -101,6 +101,10 @@ ggregory@seagullsw.com + Stepan Koltsov + yozh@mx1.ru + + Michael Macaluso michael.public@wavecorp.com Modified: commons/proper/fileupload/trunk/src/changes/changes.xml URL: http://svn.apache.org/viewvc/commons/proper/fileupload/trunk/src/changes/changes.xml?rev=735370&r1=735369&r2=735370&view=diff ============================================================================== --- commons/proper/fileupload/trunk/src/changes/changes.xml (original) +++ commons/proper/fileupload/trunk/src/changes/changes.xml Sat Jan 17 17:40:13 2009 @@ -42,7 +42,13 @@ + + Temporary files have not been deleted, if an error + occurred in FileUploadBase.parseRequest(); + + Upgrade to commons-io-1.4-SNAPSHOT, in order to use the new Modified: commons/proper/fileupload/trunk/src/java/org/apache/commons/fileupload/FileUploadBase.java URL: http://svn.apache.org/viewvc/commons/proper/fileupload/trunk/src/java/org/apache/commons/fileupload/FileUploadBase.java?rev=735370&r1=735369&r2=735370&view=diff ============================================================================== --- commons/proper/fileupload/trunk/src/java/org/apache/commons/fileupload/FileUploadBase.java (original) +++ commons/proper/fileupload/trunk/src/java/org/apache/commons/fileupload/FileUploadBase.java Sat Jan 17 17:40:13 2009 @@ -345,9 +345,10 @@ */ public List /* FileItem */ parseRequest(RequestContext ctx) throws FileUploadException { + List items = new ArrayList(); + boolean successful = false; try { FileItemIterator iter = getItemIterator(ctx); - List items = new ArrayList(); FileItemFactory fac = getFileItemFactory(); if (fac == null) { throw new NullPointerException( @@ -358,6 +359,7 @@ FileItem fileItem = fac.createItem(item.getFieldName(), item.getContentType(), item.isFormField(), item.getName()); + items.add(fileItem); try { Streams.copy(item.openStream(), fileItem.getOutputStream(), true); @@ -372,13 +374,24 @@ final FileItemHeaders fih = item.getHeaders(); ((FileItemHeadersSupport) fileItem).setHeaders(fih); } - items.add(fileItem); } + successful = true; return items; } catch (FileUploadIOException e) { throw (FileUploadException) e.getCause(); } catch (IOException e) { throw new FileUploadException(e.getMessage(), e); + } finally { + if (!successful) { + for (Iterator iterator = items.iterator(); iterator.hasNext();) { + FileItem fileItem = (FileItem) iterator.next(); + try { + fileItem.delete(); + } catch (Throwable e) { + // ignore it + } + } + } } }