summaryrefslogtreecommitdiffstats
path: root/modules/git
diff options
context:
space:
mode:
authorKN4CK3R <admin@oldschoolhack.me>2024-02-24 12:45:59 +0100
committerGitHub <noreply@github.com>2024-02-24 11:45:59 +0000
commit553d46e6f6a144905266d58315a2b0ff2e976380 (patch)
tree3ae86fe1b01953c61b0b65c604eb19cdcc22f67d /modules/git
parentd3982bcd814bac93e3cbce1c7eb749b17e413fbd (diff)
downloadgitea-553d46e6f6a144905266d58315a2b0ff2e976380.tar.gz
gitea-553d46e6f6a144905266d58315a2b0ff2e976380.zip
Do not double close reader (#29354)
Fixes #29346 --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'modules/git')
-rw-r--r--modules/git/blob_nogogit.go12
1 files changed, 11 insertions, 1 deletions
diff --git a/modules/git/blob_nogogit.go b/modules/git/blob_nogogit.go
index 9e1c2a0376..945a6bc432 100644
--- a/modules/git/blob_nogogit.go
+++ b/modules/git/blob_nogogit.go
@@ -102,7 +102,17 @@ func (b *blobReader) Read(p []byte) (n int, err error) {
// Close implements io.Closer
func (b *blobReader) Close() error {
+ if b.rd == nil {
+ return nil
+ }
+
defer b.cancel()
- return DiscardFull(b.rd, b.n+1)
+ if err := DiscardFull(b.rd, b.n+1); err != nil {
+ return err
+ }
+
+ b.rd = nil
+
+ return nil
}