Browse Source

Do not double close reader (#29354) (#29370)

Backport #29354 by @KN4CK3R

Fixes #29346

Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
tags/v1.21.7
Giteabot 2 months ago
parent
commit
e75594f7a6
No account linked to committer's email address
2 changed files with 11 additions and 4 deletions
  1. 11
    1
      modules/git/blob_nogogit.go
  2. 0
    3
      routers/web/repo/editor.go

+ 11
- 1
modules/git/blob_nogogit.go View File

@@ -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
}

+ 0
- 3
routers/web/repo/editor.go View File

@@ -161,9 +161,6 @@ func editFile(ctx *context.Context, isNewFile bool) {
}

d, _ := io.ReadAll(dataRc)
if err := dataRc.Close(); err != nil {
log.Error("Error whilst closing blob data: %v", err)
}

buf = append(buf, d...)
if content, err := charset.ToUTF8(buf, charset.ConvertOpts{KeepBOM: true}); err != nil {

Loading…
Cancel
Save