aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/spf13/afero/mem/file.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/spf13/afero/mem/file.go')
-rw-r--r--vendor/github.com/spf13/afero/mem/file.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/vendor/github.com/spf13/afero/mem/file.go b/vendor/github.com/spf13/afero/mem/file.go
index 5401a3b..7af2fb5 100644
--- a/vendor/github.com/spf13/afero/mem/file.go
+++ b/vendor/github.com/spf13/afero/mem/file.go
@@ -131,6 +131,9 @@ func (f *File) Sync() error {
}
func (f *File) Readdir(count int) (res []os.FileInfo, err error) {
+ if !f.fileData.dir {
+ return nil, &os.PathError{Op: "readdir", Path: f.fileData.name, Err: errors.New("not a dir")}
+ }
var outLength int64
f.fileData.Lock()
@@ -176,6 +179,9 @@ func (f *File) Read(b []byte) (n int, err error) {
if len(b) > 0 && int(f.at) == len(f.fileData.data) {
return 0, io.EOF
}
+ if int(f.at) > len(f.fileData.data) {
+ return 0, io.ErrUnexpectedEOF
+ }
if len(f.fileData.data)-int(f.at) >= len(b) {
n = len(b)
} else {