]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: use correct file descriptor in dup2 fallback path
authorIan Lance Taylor <iant@golang.org>
Fri, 24 Jul 2020 22:13:43 +0000 (15:13 -0700)
committerIan Lance Taylor <iant@golang.org>
Sat, 25 Jul 2020 20:13:27 +0000 (20:13 +0000)
This fixes a mistake in CL 220422. This changes code that is only
executed on Linux kernel versions earlier than 2.6.27.

Change-Id: I01280184f4d7b75e06387c38f1891e8f0a81f793
Reviewed-on: https://go-review.googlesource.com/c/go/+/244630
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
src/syscall/exec_linux.go

index 23d7343d3adf8bda5403265775eadd75b4ee89d2..b7351cda82377eae7e77096575b730298435f994 100644 (file)
@@ -465,7 +465,7 @@ func forkAndExecInChild1(argv0 *byte, argv, envv []*byte, chroot, dir *byte, att
                        }
                        _, _, err1 = RawSyscall(SYS_DUP3, uintptr(fd[i]), uintptr(nextfd), O_CLOEXEC)
                        if _SYS_dup != SYS_DUP3 && err1 == ENOSYS {
-                               _, _, err1 = RawSyscall(_SYS_dup, uintptr(pipe), uintptr(nextfd), 0)
+                               _, _, err1 = RawSyscall(_SYS_dup, uintptr(fd[i]), uintptr(nextfd), 0)
                                if err1 != 0 {
                                        goto childerror
                                }