summaryrefslogtreecommitdiff
path: root/libdiskfs/node-create.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdiskfs/node-create.c')
-rw-r--r--libdiskfs/node-create.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/libdiskfs/node-create.c b/libdiskfs/node-create.c
index 3f8dc4c1..11f5b0fe 100644
--- a/libdiskfs/node-create.c
+++ b/libdiskfs/node-create.c
@@ -64,15 +64,9 @@ diskfs_create_node (struct node *dir,
goto change_err;
np->dn_stat.st_uid = newuid;
- if (diskfs_groupmember (dir->dn_stat.st_gid, cred))
- newgid = dir->dn_stat.st_gid;
- else if (cred->ngids)
- newgid = cred->gids[0];
- else
- {
- newgid = dir->dn_stat.st_gid;
- mode &= ~S_ISGID;
- }
+ newgid = dir->dn_stat.st_gid;
+ if (!diskfs_groupmember (newgid, cred))
+ mode &= ~S_ISGID;
err = diskfs_validate_group_change (np, newgid);
if (err)
goto change_err;