]> granicus.if.org Git - shadow/commitdiff
* src/usermod.c: Added warnings for absolute symlinks which could
authornekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Fri, 22 May 2009 10:42:51 +0000 (10:42 +0000)
committernekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Fri, 22 May 2009 10:42:51 +0000 (10:42 +0000)
be broken by rename().

ChangeLog
src/usermod.c

index 93534fadc2daa5cf8283f64ad4890d3bd34087d1..4140bcc5eac5f362b8cc9f6f1461356d150e3b95 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-05-22  Nicolas François  <nicolas.francois@centraliens.net>
+
+       * src/usermod.c: Added warnings for absolute symlinks which could
+       be broken by rename().
+
 2009-05-22  Nicolas François  <nicolas.francois@centraliens.net>
 
        * NEWS, src/userdel.c: Report errors to remove the user's mailbox.
index c677e8bc212c977cacb62bdf57cbddc05040da29..6716aafe76d0fc3e1847da9b7bafe1cc4b565ce9 100644 (file)
@@ -1412,6 +1412,9 @@ static void move_home (void)
                                 Prog, user_newhome);
                        fail_exit (E_HOMEDIR);
                } else if (rename (user_home, user_newhome) != 0) {
+                       // FIXME: rename above may have broken symlinks
+                       //        pointing to the user's home directory
+                       //        with an absolute path.
                        if (errno == EXDEV) {
                                if (mkdir (user_newhome, sb.st_mode & 0777) != 0) {
                                        fprintf (stderr,