aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/services/tokens.go
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--services/tokens.go3
1 files changed, 1 insertions, 2 deletions
diff --git a/services/tokens.go b/services/tokens.go
index d3854f2d..ae89a185 100644
--- a/services/tokens.go
+++ b/services/tokens.go
@@ -18,9 +18,8 @@ func TokenIsMemberOfBuiltInAdministrator(token windows.Token) bool {
if err != nil {
return false
}
- groups := (*[(1 << 28) - 1]windows.SIDAndAttributes)(unsafe.Pointer(&gs.Groups[0]))[:gs.GroupCount]
isAdmin := false
- for _, g := range groups {
+ for _, g := range gs.AllGroups() {
if (g.Attributes&windows.SE_GROUP_USE_FOR_DENY_ONLY != 0 || g.Attributes&windows.SE_GROUP_ENABLED != 0) && g.Sid.IsWellKnown(windows.WinBuiltinAdministratorsSid) {
isAdmin = true
break