diff --git a/pkg/vendir/fetch/http/sync.go b/pkg/vendir/fetch/http/sync.go index 800aabf3..fa63166b 100644 --- a/pkg/vendir/fetch/http/sync.go +++ b/pkg/vendir/fetch/http/sync.go @@ -38,16 +38,17 @@ func (t *Sync) Sync(dstPath string, tempArea ctlfetch.TempArea) (ctlconf.LockDir return lockConf, err } - defer tmpFile.Close() defer os.Remove(tmpFile.Name()) err = t.downloadFileAndChecksum(tmpFile) if err != nil { + tmpFile.Close() return lockConf, fmt.Errorf("Downloading URL: %s", err) } incomingTmpPath := filepath.Dir(tmpFile.Name()) archivePath := filepath.Join(incomingTmpPath, path.Base(t.opts.URL)) + tmpFile.Close() err = os.Rename(tmpFile.Name(), archivePath) if err != nil { return lockConf, err