mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-23 15:24:06 +01:00
Close file on invalid range (#15166)
* Close file on invalid range. * Close on seek error Co-authored-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
parent
d0c9b3e208
commit
3cc7d27b6f
1 changed files with 8 additions and 0 deletions
|
@ -53,6 +53,10 @@ func (s *ContentStore) Get(meta *models.LFSMetaObject, fromByte int64) (io.ReadC
|
|||
}
|
||||
if fromByte > 0 {
|
||||
if fromByte >= meta.Size {
|
||||
err = f.Close()
|
||||
if err != nil {
|
||||
log.Error("Whilst trying to read LFS OID[%s]: Unable to close Error: %v", meta.Oid, err)
|
||||
}
|
||||
return nil, ErrRangeNotSatisfiable{
|
||||
FromByte: fromByte,
|
||||
}
|
||||
|
@ -60,6 +64,10 @@ func (s *ContentStore) Get(meta *models.LFSMetaObject, fromByte int64) (io.ReadC
|
|||
_, err = f.Seek(fromByte, io.SeekStart)
|
||||
if err != nil {
|
||||
log.Error("Whilst trying to read LFS OID[%s]: Unable to seek to %d Error: %v", meta.Oid, fromByte, err)
|
||||
errClose := f.Close()
|
||||
if errClose != nil {
|
||||
log.Error("Whilst trying to read LFS OID[%s]: Unable to close Error: %v", meta.Oid, errClose)
|
||||
}
|
||||
}
|
||||
}
|
||||
return f, err
|
||||
|
|
Loading…
Reference in a new issue