diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-05-21 19:32:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-21 19:32:53 +0200 |
commit | 8e5d7aa79c1268b779ccd603f1058638472de8ae (patch) | |
tree | 04ba691dcb063248baf1bddaf9fd9c4ea87f73a5 /vendor/golang.org/x/sys/windows/security_windows.go | |
parent | 9eb6c3056398c3776018eccd121ac487a9282c36 (diff) | |
parent | 2ecd15c0d236916d2894c87c73aeeeb08978614f (diff) | |
download | podman-8e5d7aa79c1268b779ccd603f1058638472de8ae.tar.gz podman-8e5d7aa79c1268b779ccd603f1058638472de8ae.tar.bz2 podman-8e5d7aa79c1268b779ccd603f1058638472de8ae.zip |
Merge pull request #6316 from containers/dependabot/go_modules/github.com/onsi/ginkgo-1.12.2
Bump github.com/onsi/ginkgo from 1.12.0 to 1.12.2
Diffstat (limited to 'vendor/golang.org/x/sys/windows/security_windows.go')
-rw-r--r-- | vendor/golang.org/x/sys/windows/security_windows.go | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/vendor/golang.org/x/sys/windows/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go index 4b6eff186..9e3c44a85 100644 --- a/vendor/golang.org/x/sys/windows/security_windows.go +++ b/vendor/golang.org/x/sys/windows/security_windows.go @@ -7,6 +7,8 @@ package windows import ( "syscall" "unsafe" + + "golang.org/x/sys/internal/unsafeheader" ) const ( @@ -1229,7 +1231,7 @@ func (sd *SECURITY_DESCRIPTOR) String() string { return "" } defer LocalFree(Handle(unsafe.Pointer(sddl))) - return UTF16ToString((*[(1 << 30) - 1]uint16)(unsafe.Pointer(sddl))[:]) + return UTF16PtrToString(sddl) } // ToAbsolute converts a self-relative security descriptor into an absolute one. @@ -1307,9 +1309,17 @@ func (absoluteSD *SECURITY_DESCRIPTOR) ToSelfRelative() (selfRelativeSD *SECURIT } func (selfRelativeSD *SECURITY_DESCRIPTOR) copySelfRelativeSecurityDescriptor() *SECURITY_DESCRIPTOR { - sdBytes := make([]byte, selfRelativeSD.Length()) - copy(sdBytes, (*[(1 << 31) - 1]byte)(unsafe.Pointer(selfRelativeSD))[:len(sdBytes)]) - return (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&sdBytes[0])) + sdLen := (int)(selfRelativeSD.Length()) + + var src []byte + h := (*unsafeheader.Slice)(unsafe.Pointer(&src)) + h.Data = unsafe.Pointer(selfRelativeSD) + h.Len = sdLen + h.Cap = sdLen + + dst := make([]byte, sdLen) + copy(dst, src) + return (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&dst[0])) } // SecurityDescriptorFromString converts an SDDL string describing a security descriptor into a @@ -1391,6 +1401,6 @@ func ACLFromEntries(explicitEntries []EXPLICIT_ACCESS, mergedACL *ACL) (acl *ACL } defer LocalFree(Handle(unsafe.Pointer(winHeapACL))) aclBytes := make([]byte, winHeapACL.aclSize) - copy(aclBytes, (*[(1 << 31) - 1]byte)(unsafe.Pointer(winHeapACL))[:len(aclBytes)]) + copy(aclBytes, (*[(1 << 31) - 1]byte)(unsafe.Pointer(winHeapACL))[:len(aclBytes):len(aclBytes)]) return (*ACL)(unsafe.Pointer(&aclBytes[0])), nil } |