]> source.dussan.org Git - gitea.git/commitdiff
Do not double close reader (#29354)
authorKN4CK3R <admin@oldschoolhack.me>
Sat, 24 Feb 2024 11:45:59 +0000 (12:45 +0100)
committerGitHub <noreply@github.com>
Sat, 24 Feb 2024 11:45:59 +0000 (11:45 +0000)
Fixes #29346

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
modules/git/blob_nogogit.go
routers/web/repo/editor.go

index 9e1c2a0376d40aaee4e931cdbcc8e81bd10cd2c1..945a6bc432c29bd0b586cc2c755d587da49513db 100644 (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
 }
index bc3cb8801d02313ad880f2f13ded84ddd808b54f..28644fbe3d57e4ad208cb55203be0051f64adcd2 100644 (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 {