aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/format/packfile/patch_delta.go
diff options
context:
space:
mode:
authorKyungmin Bae <kyungmin.bae@devsisters.com>2020-05-24 02:29:58 +0900
committerKyungmin Bae <kyungmin.bae@devsisters.com>2020-05-24 02:29:58 +0900
commit10199949b9e5a71f72241c4bb23f3d733287065c (patch)
tree52b3efdb1944d9c833522d32a0af5c4b275a3ab6 /plumbing/format/packfile/patch_delta.go
parent6d8103df45ce09ffd5323b4ef46d26440400a54f (diff)
downloadgo-git-10199949b9e5a71f72241c4bb23f3d733287065c.tar.gz
Close Reader & Writer of EncodedObject after use
Diffstat (limited to 'plumbing/format/packfile/patch_delta.go')
-rw-r--r--plumbing/format/packfile/patch_delta.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/plumbing/format/packfile/patch_delta.go b/plumbing/format/packfile/patch_delta.go
index 57c9da7..1dc8b8b 100644
--- a/plumbing/format/packfile/patch_delta.go
+++ b/plumbing/format/packfile/patch_delta.go
@@ -6,6 +6,7 @@ import (
"io"
"github.com/go-git/go-git/v5/plumbing"
+ "github.com/go-git/go-git/v5/utils/ioutil"
)
// See https://github.com/git/git/blob/49fa3dc76179e04b0833542fa52d0f287a4955ac/delta.h
@@ -16,17 +17,21 @@ import (
const deltaSizeMin = 4
// ApplyDelta writes to target the result of applying the modification deltas in delta to base.
-func ApplyDelta(target, base plumbing.EncodedObject, delta []byte) error {
+func ApplyDelta(target, base plumbing.EncodedObject, delta []byte) (err error) {
r, err := base.Reader()
if err != nil {
return err
}
+ defer ioutil.CheckClose(r, &err)
+
w, err := target.Writer()
if err != nil {
return err
}
+ defer ioutil.CheckClose(w, &err)
+
buf := bufPool.Get().(*bytes.Buffer)
defer bufPool.Put(buf)
buf.Reset()