fix: Prevent calling readdir and readdirnames on files

This commit is contained in:
Felix Pojtinger
2022-01-05 01:23:23 +01:00
parent 985a5cc3be
commit f856f880e5
2 changed files with 8 additions and 0 deletions

View File

@@ -375,6 +375,9 @@ func (f *File) Readdir(count int) ([]os.FileInfo, error) {
f.ioLock.Lock()
defer f.ioLock.Unlock()
if !f.info.IsDir() {
return []os.FileInfo{}, config.ErrIsFile
}
hdrs, err := inventory.List(
f.metadata,
@@ -401,6 +404,10 @@ func (f *File) Readdirnames(n int) ([]string, error) {
"n": n,
})
if !f.info.IsDir() {
return []string{}, config.ErrIsFile
}
dirs, err := f.Readdir(n)
if err != nil {
return []string{}, err

View File

@@ -35,6 +35,7 @@ var (
ErrNotImplemented = errors.New("not implemented")
ErrIsDirectory = errors.New("is a directory")
ErrIsFile = errors.New("is a file")
ErrFileSystemCacheTypeUnsupported = errors.New("file system cache type unsupported")
ErrFileSystemCacheTypeUnknown = errors.New("file system cache type unknown")