diff options
Diffstat (limited to 'src/cmd/go/internal/base/env.go')
-rw-r--r-- | src/cmd/go/internal/base/env.go | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/cmd/go/internal/base/env.go b/src/cmd/go/internal/base/env.go index 5f2665d236..2f47300f2e 100644 --- a/src/cmd/go/internal/base/env.go +++ b/src/cmd/go/internal/base/env.go @@ -4,12 +4,20 @@ package base +import ( + "fmt" + "path/filepath" +) + // AppendPWD returns the result of appending PWD=dir to the environment base. // // The resulting environment makes os.Getwd more efficient for a subprocess // running in dir. func AppendPWD(base []string, dir string) []string { - // Internally we only use absolute paths, so dir is absolute. - // Even if dir is not absolute, no harm done. + // POSIX requires PWD to be absolute. + // Internally we only use absolute paths, so dir should already be absolute. + if !filepath.IsAbs(dir) { + panic(fmt.Sprintf("AppendPWD with relative path %q", dir)) + } return append(base, "PWD="+dir) } |