mirror of
https://github.com/golang/go
synced 2024-10-02 22:25:08 +00:00
syscall: don't check non-existent return code in GetStartupInfo
Fixes #31316 Change-Id: I1ca5968836e7bcad91496e4ed3cf1a0caf1375f1 Reviewed-on: https://go-review.googlesource.com/c/go/+/520275 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
This commit is contained in:
parent
6c431fab37
commit
51fd0cb3c0
|
@ -264,7 +264,7 @@ func NewCallbackCDecl(fn any) uintptr {
|
|||
//sys OpenProcess(da uint32, inheritHandle bool, pid uint32) (handle Handle, err error)
|
||||
//sys TerminateProcess(handle Handle, exitcode uint32) (err error)
|
||||
//sys GetExitCodeProcess(handle Handle, exitcode *uint32) (err error)
|
||||
//sys GetStartupInfo(startupInfo *StartupInfo) (err error) = GetStartupInfoW
|
||||
//sys getStartupInfo(startupInfo *StartupInfo) = GetStartupInfoW
|
||||
//sys GetCurrentProcess() (pseudoHandle Handle, err error)
|
||||
//sys GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error)
|
||||
//sys DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error)
|
||||
|
@ -1437,3 +1437,8 @@ func newProcThreadAttributeList(maxAttrCount uint32) (*_PROC_THREAD_ATTRIBUTE_LI
|
|||
func RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) {
|
||||
return regEnumKeyEx(key, index, name, nameLen, reserved, class, classLen, lastWriteTime)
|
||||
}
|
||||
|
||||
func GetStartupInfo(startupInfo *StartupInfo) error {
|
||||
getStartupInfo(startupInfo)
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -204,6 +204,15 @@ func TestGetwd_DoesNotPanicWhenPathIsLong(t *testing.T) {
|
|||
syscall.Getwd()
|
||||
}
|
||||
|
||||
func TestGetStartupInfo(t *testing.T) {
|
||||
var si syscall.StartupInfo
|
||||
err := syscall.GetStartupInfo(&si)
|
||||
if err != nil {
|
||||
// see https://go.dev/issue/31316
|
||||
t.Fatalf("GetStartupInfo: got error %v, want nil", err)
|
||||
}
|
||||
}
|
||||
|
||||
func FuzzUTF16FromString(f *testing.F) {
|
||||
f.Add("hi") // ASCII
|
||||
f.Add("â") // latin1
|
||||
|
|
|
@ -858,11 +858,8 @@ func GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uin
|
|||
return
|
||||
}
|
||||
|
||||
func GetStartupInfo(startupInfo *StartupInfo) (err error) {
|
||||
r1, _, e1 := Syscall(procGetStartupInfoW.Addr(), 1, uintptr(unsafe.Pointer(startupInfo)), 0, 0)
|
||||
if r1 == 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
func getStartupInfo(startupInfo *StartupInfo) {
|
||||
Syscall(procGetStartupInfoW.Addr(), 1, uintptr(unsafe.Pointer(startupInfo)), 0, 0)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue