Skip to content

Commit 673ff2c

Browse files
committed
util/groupmember: fail earlier if group doesn't exist, use slices.Contains
Noticed both while re-reading this code. Updates #cleanup Change-Id: I3b70f1d5dc372853fa292ae1adbdee8cfc6a9a7b Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
1 parent 228a82f commit 673ff2c

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

util/groupmember/groupmember.go

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ package groupmember
77

88
import (
99
"os/user"
10+
"slices"
1011
)
1112

1213
// IsMemberOfGroup reports whether the provided user is a member of
@@ -16,18 +17,13 @@ func IsMemberOfGroup(group, userName string) (bool, error) {
1617
if err != nil {
1718
return false, err
1819
}
19-
ugids, err := u.GroupIds()
20+
g, err := user.LookupGroup(group)
2021
if err != nil {
2122
return false, err
2223
}
23-
g, err := user.LookupGroup(group)
24+
ugids, err := u.GroupIds()
2425
if err != nil {
2526
return false, err
2627
}
27-
for _, ugid := range ugids {
28-
if g.Gid == ugid {
29-
return true, nil
30-
}
31-
}
32-
return false, nil
28+
return slices.Contains(ugids, g.Gid), nil
3329
}

0 commit comments

Comments
 (0)