diff options
Diffstat (limited to 'src/sys')
-rw-r--r-- | src/sys/os/os_omar.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/sys/os/os_omar.c b/src/sys/os/os_omar.c index 9ad3739..8e63ae7 100644 --- a/src/sys/os/os_omar.c +++ b/src/sys/os/os_omar.c @@ -258,7 +258,11 @@ initrd_read(struct vop_rw_data *data) len = MIN(data->len, np->size); for (int i = 0; i < len; ++i) { - dest[i] = src[i]; + if ((i + data->off) >= np->size) { + /* End of file */ + return 0; + } + dest[i] = src[data->off + i]; } return len; |