diff options
| author | Neal Patel <nealpatel@google.com> | 2026-04-11 12:00:52 -0400 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2026-04-13 19:04:58 -0700 |
| commit | 33241d7298e0c621cfc4cc9f878dba9eff2b1c3d (patch) | |
| tree | 4931449a9af87f578a6cb4af11376f364e86d556 /src/os/exec/exec_test.go | |
| parent | f35e6df70bf3cbb748657a58f9b5bb9a9a491b69 (diff) | |
| download | go-33241d7298e0c621cfc4cc9f878dba9eff2b1c3d.tar.xz | |
os/exec: use argv() to avoid panic inside of Cmd.String()
A surprisingly non-zero amount of direct uses Cmd
make this panic possible.
Change-Id: If86cabfb0f7c0250e2a5aa3fcaba367de5d10ca4
Reviewed-on: https://go-review.googlesource.com/c/go/+/765680
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Auto-Submit: Neal Patel <nealpatel@google.com>
TryBot-Bypass: Nicholas Husin <nsh@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Nicholas Husin <nsh@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
Diffstat (limited to 'src/os/exec/exec_test.go')
| -rw-r--r-- | src/os/exec/exec_test.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/os/exec/exec_test.go b/src/os/exec/exec_test.go index 2746ad8783..2d966b627e 100644 --- a/src/os/exec/exec_test.go +++ b/src/os/exec/exec_test.go @@ -1855,3 +1855,9 @@ func TestStart_twice(t *testing.T) { t.Fatalf("Start call returned err %q, want %q", got, want) } } + +func TestNoStringPanic(t *testing.T) { + if s := fmt.Sprintf("%v", &exec.Cmd{}); strings.Contains(s, "PANIC") { + t.Fatalf("got %q, want no panic", s) + } +} |
