On 14 August 2014 06:38, <[email protected]> wrote:
> Author: bodewig
> Date: Thu Aug 14 05:38:59 2014
> New Revision: 1617882
>
> URL: http://svn.apache.org/r1617882
> Log:
> deal with files without parent
>
> Modified:
>
> commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/sevenz/CLI.java
>
> Modified:
> commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/sevenz/CLI.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/sevenz/CLI.java?rev=1617882&r1=1617881&r2=1617882&view=diff
> ==============================================================================
> ---
> commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/sevenz/CLI.java
> (original)
> +++
> commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/sevenz/CLI.java
> Thu Aug 14 05:38:59 2014
> @@ -73,7 +73,7 @@ public class CLI {
>
> System.out.println("extracting to " + outFile);
> File parent = outFile.getParentFile();
> - if (!parent.exists() && !parent.mkdirs()) {
> + if (parent != null && !parent.exists() && !parent.mkdirs()) {
I think there is a window between the existence check and the mkdirs.
The mkdirs() will return false if something else creates the directory(s).
It might work better as
if (parent != null && !parent.mkdirs() && !parent.isDirectory()) {
See also: https://issues.apache.org/jira/browse/IO-280
> throw new IOException("Cannot create " + parent);
> }
> FileOutputStream fos = new FileOutputStream(outFile);
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]