aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/os/exec/exec.go2
-rw-r--r--src/os/exec/exec_test.go6
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)
+ }
+}