aboutsummaryrefslogtreecommitdiff
path: root/weed/mount
diff options
context:
space:
mode:
authorGuang Jiong Lou <7991675+27149chen@users.noreply.github.com>2024-09-16 23:45:50 +0800
committerGitHub <noreply@github.com>2024-09-16 08:45:50 -0700
commit367e7638d78e5f5bc373a6ae668cc2390308bba2 (patch)
tree7ee3034af8646f1c4e74e48453f142318a052e50 /weed/mount
parent0da9e40abb9628831f47656b4b62a9d72003e9bf (diff)
downloadseaweedfs-367e7638d78e5f5bc373a6ae668cc2390308bba2.tar.xz
seaweedfs-367e7638d78e5f5bc373a6ae668cc2390308bba2.zip
fix invalid file read (#6024)
Diffstat (limited to 'weed/mount')
-rw-r--r--weed/mount/filehandle_read.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/weed/mount/filehandle_read.go b/weed/mount/filehandle_read.go
index 3c315b1c4..faf99952f 100644
--- a/weed/mount/filehandle_read.go
+++ b/weed/mount/filehandle_read.go
@@ -47,6 +47,9 @@ func (fh *FileHandle) readFromChunks(buff []byte, offset int64) (int64, int64, e
if fileSize == 0 {
glog.V(1).Infof("empty fh %v", fileFullPath)
return 0, 0, io.EOF
+ } else if offset >= fileSize {
+ glog.V(1).Infof("invalid read, fileSize %d, offset %d for %s", fileSize, offset, fileFullPath)
+ return 0, 0, io.EOF
}
if offset < int64(len(entry.Content)) {
@@ -66,7 +69,7 @@ func (fh *FileHandle) readFromChunks(buff []byte, offset int64) (int64, int64, e
return int64(totalRead), ts, err
}
-func (fh *FileHandle) downloadRemoteEntry(entry *LockedEntry) (error) {
+func (fh *FileHandle) downloadRemoteEntry(entry *LockedEntry) error {
fileFullPath := fh.FullPath()
dir, _ := fileFullPath.DirAndName()