From 9c2117f08e5166a0a1c4d6db5dd513cbb38a7f18 Mon Sep 17 00:00:00 2001 From: Simon Frei Date: Wed, 12 Aug 2020 11:33:56 +0200 Subject: [PATCH] lib/osutil: Check returned error instead of info (ref #6885) (#6887) --- lib/osutil/atomic.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/osutil/atomic.go b/lib/osutil/atomic.go index ac374bd60..48c99d301 100644 --- a/lib/osutil/atomic.go +++ b/lib/osutil/atomic.go @@ -93,12 +93,12 @@ func (w *AtomicWriter) Close() error { return err } - info, err := w.fs.Lstat(w.path) - if err != nil && !fs.IsNotExist(err) { - w.err = err - return err + info, infoErr := w.fs.Lstat(w.path) + if infoErr != nil && !fs.IsNotExist(infoErr) { + w.err = infoErr + return infoErr } - err = w.fs.Rename(w.next.Name(), w.path) + err := w.fs.Rename(w.next.Name(), w.path) if runtime.GOOS == "windows" && fs.IsPermission(err) { // On Windows, we might not be allowed to rename over the file // because it's read-only. Get us some write permissions and try @@ -110,7 +110,7 @@ func (w *AtomicWriter) Close() error { w.err = err return err } - if info != nil { + if infoErr == nil { if err := w.fs.Chmod(w.path, info.Mode()); err != nil { w.err = err return err