From 027855e8d86f461b50946b006ea032d4b4a7d817 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Wed, 27 Jul 2022 14:36:05 -0400 Subject: os/exec: add GODEBUG setting to opt out of ErrDot changes The changes are likely to break users, and we need to make it easy to unbreak without code changes. For #43724. Fixes #53962. Change-Id: I105c5d6c801d354467e0cefd268189c18846858e Reviewed-on: https://go-review.googlesource.com/c/go/+/419794 Reviewed-by: Bryan Mills Reviewed-by: Ian Lance Taylor TryBot-Result: Gopher Robot Run-TryBot: Russ Cox --- src/os/exec/lp_windows.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/os/exec/lp_windows.go') diff --git a/src/os/exec/lp_windows.go b/src/os/exec/lp_windows.go index da047585eb..ec45db7459 100644 --- a/src/os/exec/lp_windows.go +++ b/src/os/exec/lp_windows.go @@ -6,6 +6,7 @@ package exec import ( "errors" + "internal/godebug" "io/fs" "os" "path/filepath" @@ -102,6 +103,9 @@ func LookPath(file string) (string, error) { ) if _, found := syscall.Getenv("NoDefaultCurrentDirectoryInExePath"); !found { if f, err := findExecutable(filepath.Join(".", file), exts); err == nil { + if godebug.Get("execerrdot") == "0" { + return f, nil + } dotf, dotErr = f, &Error{file, ErrDot} } } @@ -124,7 +128,7 @@ func LookPath(file string) (string, error) { } } - if !filepath.IsAbs(f) { + if !filepath.IsAbs(f) && godebug.Get("execerrdot") != "0" { return f, &Error{file, ErrDot} } return f, nil -- cgit v1.2.1