You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2023/06/02 17:37:33 UTC
[commons-io] 03/03: [IO-798] DeferredFileOutputStream throws exception when system temp dir is a symlink
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-io.git
commit 12a19412a7373b5415bd1f9d79dc4334c29434b3
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Fri Jun 2 13:37:25 2023 -0400
[IO-798] DeferredFileOutputStream throws exception when system temp dir
is a symlink
---
src/changes/changes.xml | 3 +++
.../java/org/apache/commons/io/output/DeferredFileOutputStream.java | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 645c5cd8..5826c514 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -67,6 +67,9 @@ The <action> type attribute can be add,update,fix,remove.
<action dev="ggregory" type="fix" due-to="Gary Gregory">
Only read the relevant portion of a file in AbstractOrigin.PathOrigin.getByteArray(long, int)
</action>
+ <action dev="ggregory" type="fix" due-to="Shai Shapira, Gary Gregory" issue="IO-798">
+ DeferredFileOutputStream throws exception when system temp dir is a symlink.
+ </action>
<!-- ADD -->
<action dev="ggregory" type="add" due-to="Gary Gregory">
Add CharSequenceInputStream.Builder.
diff --git a/src/main/java/org/apache/commons/io/output/DeferredFileOutputStream.java b/src/main/java/org/apache/commons/io/output/DeferredFileOutputStream.java
index 66a3cabf..78bc4b9c 100644
--- a/src/main/java/org/apache/commons/io/output/DeferredFileOutputStream.java
+++ b/src/main/java/org/apache/commons/io/output/DeferredFileOutputStream.java
@@ -342,7 +342,7 @@ public class DeferredFileOutputStream extends ThresholdingOutputStream {
if (prefix != null) {
outputPath = Files.createTempFile(directory, prefix, suffix);
}
- PathUtils.createParentDirectories(outputPath);
+ PathUtils.createParentDirectories(outputPath, null, PathUtils.EMPTY_FILE_ATTRIBUTE_ARRAY);
final OutputStream fos = Files.newOutputStream(outputPath);
try {
memoryOutputStream.writeTo(fos);