diff options
-rw-r--r-- | fs/devfs.c | 3 |
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); } |