diff options
Diffstat (limited to 'src/os/exec')
| -rw-r--r-- | src/os/exec/exec.go | 2 | ||||
| -rw-r--r-- | src/os/exec/exec_test.go | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/os/exec/exec.go b/src/os/exec/exec.go index 26ddfe633c..24cd6b141a 100644 --- a/src/os/exec/exec.go +++ b/src/os/exec/exec.go @@ -516,7 +516,7 @@ func (c *Cmd) String() string { // report the exact executable path (plus args) b := new(strings.Builder) b.WriteString(c.Path) - for _, a := range c.Args[1:] { + for _, a := range c.argv()[1:] { b.WriteByte(' ') b.WriteString(a) } 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) + } +} |
