diff options
author | Anton Kling <anton@kling.gg> | 2024-08-17 17:36:42 +0200 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2024-08-17 17:36:42 +0200 |
commit | 0fcf691f149ea860034b9e016912d542d5b087ff (patch) | |
tree | 431bd1e9098b26f5ec27c581ba112e20c439871b | |
parent | 06d1028e33735ff925983bdda4b7abe89d19c4fa (diff) |
ext2: Bug fix. Incorrect assumption that `len` is not modified.
I appear to have assumed that len would always be the number requested
not the number left to be read. Therefore to get the number of bytes
left ot read I did `len - rc` but the `- rc` was already accounted for
by line 298.
-rw-r--r-- | kernel/fs/ext2.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/fs/ext2.c b/kernel/fs/ext2.c index c8c8074..db95e33 100644 --- a/kernel/fs/ext2.c +++ b/kernel/fs/ext2.c @@ -293,7 +293,7 @@ int ext2_read_dir(int dir_inode, u8 *buffer, size_t len, size_t offset) { u8 *p = (u8 *)&tmp_entry; size_t l = sizeof(struct dirent); - l = min(len - rc, l); + l = min(len, l); memcpy(buffer + rc, p, l); len -= l; rc += l; |