From 33241d7298e0c621cfc4cc9f878dba9eff2b1c3d Mon Sep 17 00:00:00 2001 From: Neal Patel Date: Sat, 11 Apr 2026 12:00:52 -0400 Subject: 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 Auto-Submit: Neal Patel TryBot-Bypass: Nicholas Husin Reviewed-by: Carlos Amedee Reviewed-by: Nicholas Husin Reviewed-by: Keith Randall --- src/os/exec/exec_test.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/os/exec/exec_test.go') 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) + } +} -- cgit v1.3-5-g9baa