summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2024-08-17 17:36:42 +0200
committerAnton Kling <anton@kling.gg>2024-08-17 17:36:42 +0200
commit0fcf691f149ea860034b9e016912d542d5b087ff (patch)
tree431bd1e9098b26f5ec27c581ba112e20c439871b
parent06d1028e33735ff925983bdda4b7abe89d19c4fa (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.c2
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;