From 0fcf691f149ea860034b9e016912d542d5b087ff Mon Sep 17 00:00:00 2001 From: Anton Kling Date: Sat, 17 Aug 2024 17:36:42 +0200 Subject: 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. --- kernel/fs/ext2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'kernel/fs') 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; -- cgit v1.2.3