run.go | 5 +++-- diff --git a/run.go b/run.go index 1cc461899fcb6f9e90454dbcfe990fc43f1696b3188ac8640e8f1e073377cfa9..345e16681130c724323476cd94dfc9fbe7650f4d2ae9afdda4c001239bde274a 100644 --- a/run.go +++ b/run.go @@ -709,12 +709,13 @@ if err != nil { err = ErrLine(err) goto Finish } + defer fd.Close() if fi, rerr := fd.Stat(); rerr == nil { chmod = fi.Mode() } else { - err = rerr + err = ErrLine(rerr) + goto Finish } - defer fd.Close() } else if fiStdout.Size() > 0 { fd = fdStdout }