From bcaa09f5e13561192d5910feae9ad44cf752a89c Mon Sep 17 00:00:00 2001 From: Richard Swingwood Date: Fri, 5 Dec 2025 22:25:35 +0000 Subject: [PATCH] [FS] FAT32 read_file cursor check --- kernel/filesystem/fat32.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/filesystem/fat32.cpp b/kernel/filesystem/fat32.cpp index 1e8a05c8..fd3f3be6 100644 --- a/kernel/filesystem/fat32.cpp +++ b/kernel/filesystem/fat32.cpp @@ -269,9 +269,9 @@ FS_RESULT FAT32FS::open_file(const char* path, file* descriptor){ } size_t FAT32FS::read_file(file *descriptor, void* buf, size_t size){ - if (descriptor->cursor > size) return 0; module_file *mfile = (module_file*)chashmap_get(open_files, &descriptor->id, sizeof(uint64_t)); if (!mfile) return 0; + if (descriptor->cursor > mfile->file_size) return 0; if (size > mfile->file_size-descriptor->cursor) size = mfile->file_size-descriptor->cursor; memcpy(buf, (void*)(mfile->buffer + descriptor->cursor), size); return size;