From de15db8e4b7d9627c2c0922002d1de9806af8564 Mon Sep 17 00:00:00 2001 From: Scott Bell Date: Mon, 18 Apr 2016 12:40:48 -0700 Subject: x/crypto/ssh: omit empty fields in error message Although the signal and msg fields are assigned together, their values originate from the remote server and may be empty. Fixes golang/go#14251 Change-Id: I9d9094cc69f3c14bf1648af59951f6b6c7a71e0a Reviewed-on: https://go-review.googlesource.com/22196 Reviewed-by: Han-Wen Nienhuys Reviewed-by: Brad Fitzpatrick --- ssh/session.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'ssh') diff --git a/ssh/session.go b/ssh/session.go index fd10cd1..09eb009 100644 --- a/ssh/session.go +++ b/ssh/session.go @@ -601,5 +601,12 @@ func (w Waitmsg) Lang() string { } func (w Waitmsg) String() string { - return fmt.Sprintf("Process exited with: %v. Reason was: %v (%v)", w.status, w.msg, w.signal) + str := fmt.Sprintf("Process exited with status %v", w.status) + if w.signal != "" { + str += fmt.Sprintf(" from signal %v", w.signal) + } + if w.msg != "" { + str += fmt.Sprintf(". Reason was: %v", w.msg) + } + return str } -- cgit v1.3