diff options
author | KN4CK3R <admin@oldschoolhack.me> | 2024-02-24 12:45:59 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-24 11:45:59 +0000 |
commit | 553d46e6f6a144905266d58315a2b0ff2e976380 (patch) | |
tree | 3ae86fe1b01953c61b0b65c604eb19cdcc22f67d /modules/git | |
parent | d3982bcd814bac93e3cbce1c7eb749b17e413fbd (diff) | |
download | gitea-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.go | 12 |
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 } |