From 4a0fd73eaded9f395b3e5025ab9e1c5c5f124143 Mon Sep 17 00:00:00 2001 From: Yuki Osaki Date: Wed, 18 Aug 2021 05:05:55 +0000 Subject: [PATCH] cmd/go/internal/work/exec: throw an error when buildP is negative MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixed a problem where an error would not occur when a negative value was specified for the p flag. `go build -p=0` now should throw an error. this is my first pr to this project. If there's anything I'm missing, please let me know 🙏 Fixes #46686 Change-Id: I3b19773ef095fad0e0419100d317727c2268699a GitHub-Last-Rev: e5c57804d9995f5c858aa42d9de21b25de246eb5 GitHub-Pull-Request: golang/go#47360 Reviewed-on: https://go-review.googlesource.com/c/go/+/336751 Reviewed-by: Jay Conrod Trust: Jay Conrod Trust: Bryan C. Mills Run-TryBot: Jay Conrod TryBot-Result: Go Bot --- src/cmd/go/internal/work/init.go | 4 ++++ src/cmd/go/testdata/script/build_negative_p.txt | 5 +++++ 2 files changed, 9 insertions(+) create mode 100644 src/cmd/go/testdata/script/build_negative_p.txt diff --git a/src/cmd/go/internal/work/init.go b/src/cmd/go/internal/work/init.go index 022137390f..7acee3dd55 100644 --- a/src/cmd/go/internal/work/init.go +++ b/src/cmd/go/internal/work/init.go @@ -40,6 +40,10 @@ func BuildInit() { cfg.BuildPkgdir = p } + if cfg.BuildP <= 0 { + base.Fatalf("go: -p must be a positive integer: %v\n", cfg.BuildP) + } + // Make sure CC, CXX, and FC are absolute paths. for _, key := range []string{"CC", "CXX", "FC"} { value := cfg.Getenv(key) diff --git a/src/cmd/go/testdata/script/build_negative_p.txt b/src/cmd/go/testdata/script/build_negative_p.txt new file mode 100644 index 0000000000..9123907dc8 --- /dev/null +++ b/src/cmd/go/testdata/script/build_negative_p.txt @@ -0,0 +1,5 @@ +! go build -p=-1 example.go +stderr 'go: -p must be a positive integer: -1' + +-- example.go -- +package example \ No newline at end of file -- 2.48.1