From 7b12ceede2b28ebe5dc22a50cb69fae1e97577a1 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Mon, 27 May 2019 17:32:14 +0200 Subject: services: iterate through groups using helper --- services/tokens.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'services') 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 -- cgit v1.2.3-59-g8ed1b