diff options
Diffstat (limited to 'elevate/shellexecute.go')
-rw-r--r-- | elevate/shellexecute.go | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/elevate/shellexecute.go b/elevate/shellexecute.go index 2ac5581c..e0be9d98 100644 --- a/elevate/shellexecute.go +++ b/elevate/shellexecute.go @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: MIT * - * Copyright (C) 2019-2021 WireGuard LLC. All Rights Reserved. + * Copyright (C) 2019-2022 WireGuard LLC. All Rights Reserved. */ package elevate @@ -24,7 +24,7 @@ const ( cSEE_MASK_DEFAULT = 0 ) -func ShellExecute(program string, arguments string, directory string, show int32) (err error) { +func ShellExecute(program, arguments, directory string, show int32) (err error) { var ( program16 *uint16 arguments16 *uint16 @@ -121,7 +121,7 @@ func ShellExecute(program string, arguments string, directory string, show int32 if err = windows.CoGetObject( windows.StringToUTF16Ptr("Elevation:Administrator!new:{3E5FC7F9-9A51-4367-9063-A120244FBEC7}"), &windows.BIND_OPTS3{ - CbStruct: uint32(unsafe.Sizeof(windows.BIND_OPTS3{})), + CbStruct: uint32(unsafe.Sizeof(windows.BIND_OPTS3{})), ClassContext: windows.CLSCTX_LOCAL_SERVER, }, &windows.GUID{0x6EDD6D74, 0xC007, 0x4E75, [8]byte{0xB7, 0x6A, 0xE5, 0x74, 0x09, 0x95, 0xE2, 0x4C}}, @@ -130,13 +130,13 @@ func ShellExecute(program string, arguments string, directory string, show int32 return } - defer syscall.Syscall((*interfacePointer)[releaseOffset], 1, uintptr(unsafe.Pointer(interfacePointer)), 0, 0) + defer syscall.SyscallN((*interfacePointer)[releaseOffset], uintptr(unsafe.Pointer(interfacePointer))) if program16 == nil { return } - if ret, _, _ := syscall.Syscall6((*interfacePointer)[shellExecuteOffset], 6, + if ret, _, _ := syscall.SyscallN((*interfacePointer)[shellExecuteOffset], uintptr(unsafe.Pointer(interfacePointer)), uintptr(unsafe.Pointer(program16)), uintptr(unsafe.Pointer(arguments16)), |