diff options
Diffstat (limited to 'libgo/go/syscall/exec_bsd.go')
-rw-r--r-- | libgo/go/syscall/exec_bsd.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libgo/go/syscall/exec_bsd.go b/libgo/go/syscall/exec_bsd.go index 68143536182..f1f7a188de2 100644 --- a/libgo/go/syscall/exec_bsd.go +++ b/libgo/go/syscall/exec_bsd.go @@ -38,8 +38,10 @@ func forkAndExecInChild(argv0 *byte, argv, envv []*byte, chroot, dir *byte, attr i int ) - // guard against side effects of shuffling fds below. - fd := append([]int(nil), attr.Files...) + fd := make([]int, len(attr.Files)) + for i, ufd := range attr.Files { + fd[i] = int(ufd) + } // About to call fork. // No more allocation or calls of non-assembly functions. |