mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-29 04:55:31 +00:00
util/winutil/s4u: fix token handle leak
Fixes #14156 Signed-off-by: Aaron Klotz <aaron@tailscale.com>
This commit is contained in:
parent
810da91a9e
commit
48343ee673
@ -17,6 +17,7 @@
|
||||
"slices"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
"unsafe"
|
||||
|
||||
@ -128,9 +129,10 @@ func Login(logf logger.Logf, srcName string, u *user.User, capLevel CapabilityLe
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tokenCloseOnce := sync.OnceFunc(func() { token.Close() })
|
||||
defer func() {
|
||||
if err != nil {
|
||||
token.Close()
|
||||
tokenCloseOnce()
|
||||
}
|
||||
}()
|
||||
|
||||
@ -162,6 +164,7 @@ func Login(logf logger.Logf, srcName string, u *user.User, capLevel CapabilityLe
|
||||
sessToken.Close()
|
||||
}
|
||||
}()
|
||||
tokenCloseOnce()
|
||||
}
|
||||
|
||||
userProfile, err := winutil.LoadUserProfile(sessToken, u)
|
||||
|
Loading…
Reference in New Issue
Block a user