fixed open file leak

This commit is contained in:
ston1th 2022-03-14 00:12:56 +01:00
commit 9af837a17c

View file

@ -84,6 +84,7 @@ func (fs *FS) StatWithOffline(name string) (fi stdfs.FileInfo, offline bool, err
return
}
fi, err = f.Stat()
f.Close()
offline = f.offline
return
}
@ -131,11 +132,13 @@ func (fs *FS) open(name string, stat bool) (f *File, err error) {
}
sfi, err := sf.Stat()
if err != nil {
sf.Close()
log.Error(err, "error stat source file")
return
}
if sfi.IsDir() || stat {
if empty, err := dirEmpty(sf.Name()); empty && err == nil {
sf.Close()
sf, err = os.Open(dp)
offline = true
log.V(2).Info("dir offline mode", "path", dp)