]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1] os: make POSIX StartProcess work with chroot again.
authorHan-Wen Nienhuys <hanwen@google.com>
Fri, 21 Sep 2012 19:53:47 +0000 (05:53 +1000)
committerRuss Cox <rsc@golang.org>
Fri, 21 Sep 2012 19:53:47 +0000 (05:53 +1000)
««« backport 2aaa88600d48
os: make POSIX StartProcess work with chroot again.

Skip directory check in startProcess in the presence of
SysProcAttr.

Fixes #3649.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6297083

»»»

src/pkg/os/exec_posix.go

index 70351cfb313144951e30007343d2e4fa1dcaa518..40fd0fd0ee6b27e0bbf6d08d537eda5709ac3abb 100644 (file)
@@ -11,9 +11,10 @@ import (
 )
 
 func startProcess(name string, argv []string, attr *ProcAttr) (p *Process, err error) {
-       // Double-check existence of the directory we want
+       // If there is no SysProcAttr (ie. no Chroot or changed
+       // UID/GID), double-check existence of the directory we want
        // to chdir into.  We can make the error clearer this way.
-       if attr != nil && attr.Dir != "" {
+       if attr != nil && attr.Sys == nil && attr.Dir != "" {
                if _, err := Stat(attr.Dir); err != nil {
                        pe := err.(*PathError)
                        pe.Op = "chdir"