commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Bryan Yu (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (IO-141) [IO][PATCH] Infinite loop on FileUtils.copyDirectory when the destination directory is within the source directory
Date Sun, 02 Dec 2007 19:43:43 GMT

    [ https://issues.apache.org/jira/browse/IO-141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12547306
] 

vafada edited comment on IO-141 at 12/2/07 11:43 AM:
------------------------------------------------------------

Patch to fix the recursion bug. 

This patch will check the canonical path of the destination directory and the absolute path
of the File objects from listFiles(). If they are equal, then don't copy the destination directory
and continue the iteration

      was (Author: vafada):
    Patch to fix the recursion bug. 

This patch will check the absolute path of the destination directory and the absolute path
of the File objects from listFiles(). If they are equal, then don't copy the destination directory
and continue the iteration
  
> [IO][PATCH] Infinite loop on FileUtils.copyDirectory when the destination directory is
within the source directory
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: IO-141
>                 URL: https://issues.apache.org/jira/browse/IO-141
>             Project: Commons IO
>          Issue Type: Bug
>          Components: Utilities
>    Affects Versions: 1.3.2
>         Environment: Win XP
>            Reporter: Mark Bryan Yu
>            Priority: Critical
>         Attachments: fix_recursion_bug.patch
>
>
> When you attempt to copy a directory and the destination directory is inside the source
directory an inifinite loop occurs in the copyDirectory causing Commons-IO to create a folder
w/o stopping until its reaches OS limitation.
> This code will recreate the bug:
> FileUtils.copyDirectory(new File("C:\\temp\\test-io\\a\\."), new File("C:\\temp\\test-io\\a\\."
+ File.separator + new Date().getTime()));
> Make sure C:\temp\test-io\a exists

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message