From 92390e47d81713d13b0d9890bf8b153f142a5b8a Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Wed, 22 Jul 2015 16:50:00 -0400 Subject: os/exec: close read pipe if copy to io.Writer fails Fixes #10400. Change-Id: Ic486cb8af4c40660fd1a2e3d10986975acba3f19 Reviewed-on: https://go-review.googlesource.com/12537 Reviewed-by: Ian Lance Taylor --- src/os/exec/exec.go | 1 + 1 file changed, 1 insertion(+) (limited to 'src/os/exec/exec.go') diff --git a/src/os/exec/exec.go b/src/os/exec/exec.go index fcc37870ed..8a84e263dc 100644 --- a/src/os/exec/exec.go +++ b/src/os/exec/exec.go @@ -230,6 +230,7 @@ func (c *Cmd) writerDescriptor(w io.Writer) (f *os.File, err error) { c.closeAfterWait = append(c.closeAfterWait, pr) c.goroutine = append(c.goroutine, func() error { _, err := io.Copy(w, pr) + pr.Close() // in case io.Copy stopped due to write error return err }) return pw, nil -- cgit v1.3-5-g9baa