Skip to content

Commit 27301e8

Browse files
author
Bryan C. Mills
committed
syscall: fix shadowing bugs in forkAndExecInChild
Fixes #57208. Updates #23152. Change-Id: Icc9a74aeb26f1b6f151162c5d6bf1b4d7cd54d0a Reviewed-on: https://go-review.googlesource.com/c/go/+/456515 Run-TryBot: Bryan Mills <[email protected]> Reviewed-by: Russ Cox <[email protected]> TryBot-Result: Gopher Robot <[email protected]>
1 parent 6f7a95d commit 27301e8

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

src/syscall/exec_freebsd.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ func forkAndExecInChild(argv0 *byte, argv, envv []*byte, chroot, dir *byte, attr
205205
r1, _, _ = RawSyscall(SYS_GETPPID, 0, 0, 0)
206206
if r1 != ppid {
207207
pid, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0)
208-
_, _, err1 := RawSyscall(SYS_KILL, pid, uintptr(sys.Pdeathsig), 0)
208+
_, _, err1 = RawSyscall(SYS_KILL, pid, uintptr(sys.Pdeathsig), 0)
209209
if err1 != 0 {
210210
goto childerror
211211
}

src/syscall/exec_linux.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ func forkAndExecInChild1(argv0 *byte, argv, envv []*byte, chroot, dir *byte, att
470470
// so it is safe to always use _LINUX_CAPABILITY_VERSION_3.
471471
caps.hdr.version = _LINUX_CAPABILITY_VERSION_3
472472

473-
if _, _, err1 := RawSyscall(SYS_CAPGET, uintptr(unsafe.Pointer(&caps.hdr)), uintptr(unsafe.Pointer(&caps.data[0])), 0); err1 != 0 {
473+
if _, _, err1 = RawSyscall(SYS_CAPGET, uintptr(unsafe.Pointer(&caps.hdr)), uintptr(unsafe.Pointer(&caps.data[0])), 0); err1 != 0 {
474474
goto childerror
475475
}
476476

@@ -481,7 +481,7 @@ func forkAndExecInChild1(argv0 *byte, argv, envv []*byte, chroot, dir *byte, att
481481
caps.data[capToIndex(c)].inheritable |= capToMask(c)
482482
}
483483

484-
if _, _, err1 := RawSyscall(SYS_CAPSET, uintptr(unsafe.Pointer(&caps.hdr)), uintptr(unsafe.Pointer(&caps.data[0])), 0); err1 != 0 {
484+
if _, _, err1 = RawSyscall(SYS_CAPSET, uintptr(unsafe.Pointer(&caps.hdr)), uintptr(unsafe.Pointer(&caps.data[0])), 0); err1 != 0 {
485485
goto childerror
486486
}
487487

@@ -514,7 +514,7 @@ func forkAndExecInChild1(argv0 *byte, argv, envv []*byte, chroot, dir *byte, att
514514
r1, _ = rawSyscallNoError(SYS_GETPPID, 0, 0, 0)
515515
if r1 != ppid {
516516
pid, _ := rawSyscallNoError(SYS_GETPID, 0, 0, 0)
517-
_, _, err1 := RawSyscall(SYS_KILL, pid, uintptr(sys.Pdeathsig), 0)
517+
_, _, err1 = RawSyscall(SYS_KILL, pid, uintptr(sys.Pdeathsig), 0)
518518
if err1 != 0 {
519519
goto childerror
520520
}

0 commit comments

Comments
 (0)