]> granicus.if.org Git - shadow/commitdiff
* libmisc/copydir.c: Added warning for relative symlinks.
authornekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Fri, 22 May 2009 10:16:12 +0000 (10:16 +0000)
committernekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Fri, 22 May 2009 10:16:12 +0000 (10:16 +0000)
* libmisc/copydir.c (remove_tree): There is no need to check if
the root argument exist. opendir() will report this.

ChangeLog
libmisc/copydir.c

index 5383cfb89aaac78eb4667ef1982f3a96df3da40d..491f6dfedbd7f8270a0a0e35860dad522ff72f71 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-05-21  Nicolas François  <nicolas.francois@centraliens.net>
+
+       * libmisc/copydir.c: Added warning for relative symlinks.
+       * libmisc/copydir.c (remove_tree): There is no need to check if
+       the root argument exist. opendir() will report this.
+
 2009-05-21  Nicolas François  <nicolas.francois@centraliens.net>
 
        * man/faillog.8.xml: Minor updates.
index 40628b8127a79236d6bf7ed2d00ecee7dde69b92..644748db9748c486dbed3e9497d7e4350e87689c 100644 (file)
@@ -494,6 +494,7 @@ static int copy_symlink (const char *src, const char *dst,
        /* If src was a link to an entry of the src_orig directory itself,
         * create a link to the corresponding entry in the dst_orig
         * directory.
+        * FIXME: This may change a relative link to an absolute link
         */
        if (strncmp (oldlink, src_orig, strlen (src_orig)) == 0) {
                size_t len = strlen (dst_orig) + strlen (oldlink) - strlen (src_orig) + 1;
@@ -546,7 +547,7 @@ static int copy_hardlink (const char *src, const char *dst,
                return -1;
        }
 
-       /* FIXME: why is it unlinked? This is a copy, not a move*/
+       /* FIXME: why is it unlinked? This is a copy, not a move */
        if (unlink (src) != 0) {
                return -1;
        }
@@ -674,14 +675,6 @@ int remove_tree (const char *root)
        struct stat sb;
        DIR *dir;
 
-       /*
-        * Make certain the directory exists.
-        */
-
-       if (access (root, F_OK) != 0) {
-               return -1;
-       }
-
        /*
         * Open the source directory and read each entry.  Every file
         * entry in the directory is copied with the UID and GID set