You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by bo...@apache.org on 2018/05/08 03:57:18 UTC
commons-compress git commit: better check result of mkdirs
Repository: commons-compress
Updated Branches:
refs/heads/master 7a10230e1 -> 58cef1268
better check result of mkdirs
Project: http://git-wip-us.apache.org/repos/asf/commons-compress/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-compress/commit/58cef126
Tree: http://git-wip-us.apache.org/repos/asf/commons-compress/tree/58cef126
Diff: http://git-wip-us.apache.org/repos/asf/commons-compress/diff/58cef126
Branch: refs/heads/master
Commit: 58cef1268241036356e72b5452760a51ec8ab2b5
Parents: 7a10230
Author: Stefan Bodewig <bo...@apache.org>
Authored: Tue May 8 05:56:58 2018 +0200
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Tue May 8 05:56:58 2018 +0200
----------------------------------------------------------------------
.../commons/compress/archivers/examples/Expander.java | 9 +++++++--
src/site/xdoc/examples.xml | 9 +++++++--
2 files changed, 14 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/58cef126/src/main/java/org/apache/commons/compress/archivers/examples/Expander.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/compress/archivers/examples/Expander.java b/src/main/java/org/apache/commons/compress/archivers/examples/Expander.java
index c4d036c..f6bee61 100644
--- a/src/main/java/org/apache/commons/compress/archivers/examples/Expander.java
+++ b/src/main/java/org/apache/commons/compress/archivers/examples/Expander.java
@@ -246,9 +246,14 @@ public class Expander {
+ " would craete file outside of " + targetDirectory);
}
if (nextEntry.isDirectory()) {
- f.mkdirs();
+ if (!f.isDirectory() && !f.mkdirs()) {
+ throw new IOException("failed to create directory " + f);
+ }
} else {
- f.getParentFile().mkdirs();
+ File parent = f.getParentFile();
+ if (!parent.isDirectory() && !parent.mkdirs()) {
+ throw new IOException("failed to create directory " + parent);
+ }
try (OutputStream o = Files.newOutputStream(f.toPath())) {
writer.writeEntryDataTo(nextEntry, o);
}
http://git-wip-us.apache.org/repos/asf/commons-compress/blob/58cef126/src/site/xdoc/examples.xml
----------------------------------------------------------------------
diff --git a/src/site/xdoc/examples.xml b/src/site/xdoc/examples.xml
index ec6ced7..11e6009 100644
--- a/src/site/xdoc/examples.xml
+++ b/src/site/xdoc/examples.xml
@@ -164,9 +164,14 @@ try (ArchiveInputStream i = ... create the stream for your format, use buffering
String name = fileName(targetDir, entry);
File f = new File(name);
if (entry.isDirectory()) {
- f.mkdirs();
+ if (!f.isDirectory() && !f.mkdirs()) {
+ throw new IOException("failed to create directory " + f);
+ }
} else {
- f.getParentFile().mkdirs();
+ File parent = f.getParentFile();
+ if (!parent.isDirectory() && !parent.mkdirs()) {
+ throw new IOException("failed to create directory " + parent);
+ }
try (OutputStream o = Files.newOutputStream(f.toPath())) {
IOUtils.copy(i, o);
}