]> granicus.if.org Git - shadow/commitdiff
* src/usermod.c (move_home): It is always an error to use -m if
authornekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Thu, 14 Jul 2011 13:29:05 +0000 (13:29 +0000)
committernekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Thu, 14 Jul 2011 13:29:05 +0000 (13:29 +0000)
the new home directory already exist (independently from the
existence of the old home directory did not exist)

ChangeLog
src/usermod.c

index cef066fa772c8644780fb9c2516823a7cf5235bb..1329c26897e003d4be9a198f9a7868e33d7bf00a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,9 @@
 2011-07-14  Nicolas François  <nicolas.francois@centraliens.net>
 
        * src/usermod.c: Fix typo in comment.
+       * src/usermod.c (move_home): It is always an error to use -m if
+       the new home directory already exist (independently from the
+       existence of the old home directory did not exist)
 
 2011-07-08  Nicolas François  <nicolas.francois@centraliens.net>
 
index cd63089a40cf1acd6ad5577309db4acb25d1aa32..eaf578a48f7f76c47beb671783638f8a57b7dd5d 100644 (file)
@@ -1408,18 +1408,18 @@ static void move_home (void)
 {
        struct stat sb;
 
-       if (stat (user_home, &sb) == 0) {
+       if (access (user_newhome, F_OK) == 0) {
                /*
                 * If the new home directory already exist, the user
                 * should not use -m.
                 */
-               if (access (user_newhome, F_OK) == 0) {
-                       fprintf (stderr,
-                                _("%s: directory %s exists\n"),
-                                Prog, user_newhome);
-                       fail_exit (E_HOMEDIR);
-               }
+               fprintf (stderr,
+                        _("%s: directory %s exists\n"),
+                        Prog, user_newhome);
+               fail_exit (E_HOMEDIR);
+       }
 
+       if (stat (user_home, &sb) == 0) {
                /*
                 * Don't try to move it if it is not a directory
                 * (but /dev/null for example).  --marekm