diff options
| author | Oleksandr Redko <oleksandr.red+github@gmail.com> | 2026-02-06 20:52:22 +0200 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2026-02-12 10:43:05 -0800 |
| commit | a44ed023f600de1b8fbeb2be514ec20c964b3330 (patch) | |
| tree | aa921975be7868fccd345e735ee0c408e1cfc221 /src/cmd | |
| parent | 31768104cbe710d2358d5da34b4c223ad3ff2c6f (diff) | |
| download | go-a44ed023f600de1b8fbeb2be514ec20c964b3330.tar.xz | |
cmd/go: fix panic in 'go run -C'
Fixes #77483
Change-Id: Ie772ce1619beadc1a6db87aaf28a8d9c31f7d1b8
Reviewed-on: https://go-review.googlesource.com/c/go/+/742860
Reviewed-by: Junyang Shao <shaojunyang@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Alexander <jitsu@google.com>
Reviewed-by: Sean Liao <sean@liao.dev>
Reviewed-by: Ian Alexander <jitsu@google.com>
Auto-Submit: Sean Liao <sean@liao.dev>
Diffstat (limited to 'src/cmd')
| -rw-r--r-- | src/cmd/go/internal/toolchain/select.go | 3 | ||||
| -rw-r--r-- | src/cmd/go/testdata/script/mod_run_flags_issue77483.txt | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/cmd/go/internal/toolchain/select.go b/src/cmd/go/internal/toolchain/select.go index 0cb93f67e1..e7a9af793c 100644 --- a/src/cmd/go/internal/toolchain/select.go +++ b/src/cmd/go/internal/toolchain/select.go @@ -658,6 +658,9 @@ func maybeSwitchForGoInstallVersion(loaderstate *modload.State, minVers string) } if bf, ok := f.Value.(interface{ IsBoolFlag() bool }); !ok || !bf.IsBoolFlag() { + if len(args) == 0 { + return + } // The next arg is the value for this flag. Skip it. args = args[1:] continue diff --git a/src/cmd/go/testdata/script/mod_run_flags_issue77483.txt b/src/cmd/go/testdata/script/mod_run_flags_issue77483.txt new file mode 100644 index 0000000000..9a5d367349 --- /dev/null +++ b/src/cmd/go/testdata/script/mod_run_flags_issue77483.txt @@ -0,0 +1,4 @@ +# Regression test for https://go.dev/issue/77483: 'go run -C' should not panic. + +! go run -C +stderr 'flag needs an argument: -C' |
