git: 1a8d37b8cffc - main - pw: Use existing group entry, even if it already has members
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 19 Jul 2023 13:41:54 UTC
The branch main has been updated by jrm:
URL: https://cgit.FreeBSD.org/src/commit/?id=1a8d37b8cffc805626a3954496845b7a14a45bea
commit 1a8d37b8cffc805626a3954496845b7a14a45bea
Author: Naman Sood <mail@nsood.in>
AuthorDate: 2023-07-19 13:06:06 +0000
Commit: Joseph Mingrone <jrm@FreeBSD.org>
CommitDate: 2023-07-19 13:40:53 +0000
pw: Use existing group entry, even if it already has members
Fix the following problem:
1. A nonexistent user, someuser, is added to /etc/group as
someuser:*:12345:someuser.
2. someuser is then created with the default login group.
A second group entry for someuser will be created.
someuser:*:12345:someuser
someuser:*:12346:
With this fix, the existing group entry will be used.
PR: 238995
Reviewed by: bapt, jrm
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D41057
---
usr.sbin/pw/pw_user.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/usr.sbin/pw/pw_user.c b/usr.sbin/pw/pw_user.c
index 9029069c6a9f..3e5a9841c5f3 100644
--- a/usr.sbin/pw/pw_user.c
+++ b/usr.sbin/pw/pw_user.c
@@ -378,8 +378,7 @@ pw_gidpolicy(struct userconf *cnf, char *grname, char *nam, gid_t prefer, bool d
grp = GETGRGID(gid);
}
gid = grp->gr_gid;
- } else if ((grp = GETGRNAM(nam)) != NULL &&
- (grp->gr_mem == NULL || grp->gr_mem[0] == NULL)) {
+ } else if ((grp = GETGRNAM(nam)) != NULL) {
gid = grp->gr_gid; /* Already created? Use it anyway... */
} else {
intmax_t grid = -1;