You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ma...@apache.org on 2023/01/03 10:44:53 UTC
[commons-fileupload] 02/07: PR: FILEUPLOAD-293
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 1.x
in repository https://gitbox.apache.org/repos/asf/commons-fileupload.git
commit a2626a902fad47685b3cbe26e176e0e308e93d3a
Author: Jochen Wiedmann (jwi) <jo...@softwareag.com>
AuthorDate: Sun Feb 24 15:09:12 2019 +0100
PR: FILEUPLOAD-293
Regression: Due to use of FileUtils.moveFile internally, it was no longer possible to overwrite an existing file in DiskFileItem.write(File). Fixed by deleting the target file, if possible.
---
src/changes/changes.xml | 3 +++
.../java/org/apache/commons/fileupload/disk/DiskFileItem.java | 3 +++
.../java/org/apache/commons/fileupload/DiskFileUploadTest.java | 9 +--------
3 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 4522eee..42c74c6 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -43,6 +43,9 @@ The <action> type attribute can be add,update,fix,remove.
</properties>
<body>
+ <release version="1.5" date="TBD" description="1.5 Release">
+ <action issue="FILEUPLOAD-293" dev="jochen" type="fix">DiskFileItem.write(File) had been changed to use FileUtils.moveFile internally, preventing an existing file as the target.</action>
+ </release>
<release version="1.4" date="2018-12-23" 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>
diff --git a/src/main/java/org/apache/commons/fileupload/disk/DiskFileItem.java b/src/main/java/org/apache/commons/fileupload/disk/DiskFileItem.java
index e5e3bf9..375f099 100644
--- a/src/main/java/org/apache/commons/fileupload/disk/DiskFileItem.java
+++ b/src/main/java/org/apache/commons/fileupload/disk/DiskFileItem.java
@@ -402,6 +402,9 @@ public class DiskFileItem
* in a temporary location so move it to the
* desired file.
*/
+ if (file.exists()) {
+ file.delete();
+ }
FileUtils.moveFile(outputFile, file);
} else {
/*
diff --git a/src/test/java/org/apache/commons/fileupload/DiskFileUploadTest.java b/src/test/java/org/apache/commons/fileupload/DiskFileUploadTest.java
index a472c1c..5d2fe2d 100644
--- a/src/test/java/org/apache/commons/fileupload/DiskFileUploadTest.java
+++ b/src/test/java/org/apache/commons/fileupload/DiskFileUploadTest.java
@@ -89,14 +89,7 @@ public class DiskFileUploadTest {
assertNotNull(items);
assertFalse(items.isEmpty());
final DiskFileItem dfi = (DiskFileItem) items.get(0);
- final File out = new File("target/unit-tests/DiskFileUpload/out.file");
- if (out.isFile()) {
- out.delete();
- }
- final File outDir = out.getParentFile();
- if (!outDir.isDirectory()) {
- outDir.mkdirs();
- }
+ final File out = File.createTempFile("install", ".tmp");
dfi.write(out);
}
}