summaryrefslogtreecommitdiffstats
path: root/fs/devfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/devfs.c')
-rw-r--r--fs/devfs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/devfs.c b/fs/devfs.c
index e3a21ae79..ae48451b6 100644
--- a/fs/devfs.c
+++ b/fs/devfs.c
@@ -73,6 +73,9 @@ static int devfs_erase(struct device_d *_dev, FILE *f, size_t count, unsigned lo
if (!cdev->ops->erase)
return -ENOSYS;
+ if (count + offset > cdev->size)
+ count = cdev->size - offset;
+
return cdev->ops->erase(cdev, count, offset + cdev->offset);
}