From: Alejandro Colomar Date: Wed, 7 Jun 2023 21:56:29 +0000 (+0200) Subject: src/useradd.c: create_home(): Cosmetic X-Git-Tag: 4.14.0-rc1~33 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0a9011808971ab8841ea13eb54cfa4c2c5d7d850;p=thirdparty%2Fshadow.git src/useradd.c: create_home(): Cosmetic - Invert conditional to reduce indentation. Signed-off-by: Alejandro Colomar --- diff --git a/src/useradd.c b/src/useradd.c index bde45032d..928ee0d65 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -2317,58 +2317,60 @@ static void create_home (void) strcat(path, "/"); } strcat(path, cp); - if (access(path, F_OK) != 0) { - /* Check if parent directory is BTRFS, fail if requesting - subvolume but no BTRFS. The paths could be different by the - trailing slash - */ + if (access(path, F_OK) == 0) { + continue; + } + + /* Check if parent directory is BTRFS, fail if requesting + subvolume but no BTRFS. The paths could be different by the + trailing slash + */ #if WITH_BTRFS - if (subvolflg && (strlen(prefix_user_home) - (int)strlen(path)) <= 1) { - char *btrfs_check = strdup(path); - - if (!btrfs_check) { - fprintf(stderr, - _("%s: error while duplicating string in BTRFS check %s\n"), - Prog, path); - fail_exit(E_HOMEDIR); - } - btrfs_check[strlen(path) - strlen(cp) - 1] = '\0'; - if (is_btrfs(btrfs_check) <= 0) { - fprintf(stderr, - _("%s: home directory \"%s\" must be mounted on BTRFS\n"), - Prog, path); - fail_exit(E_HOMEDIR); - } - // make subvolume to mount for user instead of directory - if (btrfs_create_subvolume(path)) { - fprintf(stderr, - _("%s: failed to create BTRFS subvolume: %s\n"), - Prog, path); - fail_exit(E_HOMEDIR); - } - } - else -#endif - if (mkdir(path, 0) != 0) { - fprintf(stderr, _("%s: cannot create directory %s\n"), + if (subvolflg && (strlen(prefix_user_home) - (int)strlen(path)) <= 1) { + char *btrfs_check = strdup(path); + + if (!btrfs_check) { + fprintf(stderr, + _("%s: error while duplicating string in BTRFS check %s\n"), Prog, path); -#ifdef WITH_AUDIT - audit_logger(AUDIT_ADD_USER, Prog, "adding home directory", - user_name, user_id, SHADOW_AUDIT_FAILURE); -#endif fail_exit(E_HOMEDIR); } - if (chown(path, 0, 0) < 0) { + btrfs_check[strlen(path) - strlen(cp) - 1] = '\0'; + if (is_btrfs(btrfs_check) <= 0) { fprintf(stderr, - _("%s: warning: chown on `%s' failed: %m\n"), + _("%s: home directory \"%s\" must be mounted on BTRFS\n"), Prog, path); + fail_exit(E_HOMEDIR); } - if (chmod(path, 0755) < 0) { + // make subvolume to mount for user instead of directory + if (btrfs_create_subvolume(path)) { fprintf(stderr, - _("%s: warning: chmod on `%s' failed: %m\n"), + _("%s: failed to create BTRFS subvolume: %s\n"), Prog, path); + fail_exit(E_HOMEDIR); } } + else +#endif + if (mkdir(path, 0) != 0) { + fprintf(stderr, _("%s: cannot create directory %s\n"), + Prog, path); +#ifdef WITH_AUDIT + audit_logger(AUDIT_ADD_USER, Prog, "adding home directory", + user_name, user_id, SHADOW_AUDIT_FAILURE); +#endif + fail_exit(E_HOMEDIR); + } + if (chown(path, 0, 0) < 0) { + fprintf(stderr, + _("%s: warning: chown on `%s' failed: %m\n"), + Prog, path); + } + if (chmod(path, 0755) < 0) { + fprintf(stderr, + _("%s: warning: chmod on `%s' failed: %m\n"), + Prog, path); + } } free(bhome);