2
2
mirror of https://github.com/octoleo/restic.git synced 2024-11-22 21:05:10 +00:00

Merge pull request #1583 from restic/close-open-backend-files

Close backend files in case of errors
This commit is contained in:
Alexander Neumann 2018-01-26 21:57:28 +01:00
commit cccb2fc7e7
3 changed files with 4 additions and 0 deletions

View File

@ -127,6 +127,7 @@ func (b *Backend) cacheFile(ctx context.Context, h restic.Handle) error {
}
if err = b.Cache.Save(h, rd); err != nil {
_ = rd.Close()
return err
}

View File

@ -637,6 +637,7 @@ func checkPack(ctx context.Context, r restic.Repository, id restic.ID) error {
packfile, err := fs.TempFile("", "restic-temp-check-")
if err != nil {
_ = rd.Close()
return errors.Wrap(err, "TempFile")
}
@ -648,6 +649,7 @@ func checkPack(ctx context.Context, r restic.Repository, id restic.ID) error {
hrd := hashing.NewReader(rd, sha256.New())
size, err := io.Copy(packfile, hrd)
if err != nil {
_ = rd.Close()
return errors.Wrap(err, "Copy")
}

View File

@ -40,6 +40,7 @@ func Repack(ctx context.Context, repo restic.Repository, packs restic.IDSet, kee
hrd := hashing.NewReader(beRd, sha256.New())
packLength, err := io.Copy(tempfile, hrd)
if err != nil {
_ = beRd.Close()
return nil, errors.Wrap(err, "Copy")
}