From 5001b71c423f378299b33643ad3be042a8b86dc3 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 4 Apr 2021 17:21:07 +0200 Subject: Kernel: Reading past the end of an Ext2FSInode should return 0 Fixes #5763. --- Kernel/FileSystem/Ext2FileSystem.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Kernel') diff --git a/Kernel/FileSystem/Ext2FileSystem.cpp b/Kernel/FileSystem/Ext2FileSystem.cpp index 7103368509..dffbdd7363 100644 --- a/Kernel/FileSystem/Ext2FileSystem.cpp +++ b/Kernel/FileSystem/Ext2FileSystem.cpp @@ -857,6 +857,9 @@ ssize_t Ext2FSInode::read_bytes(off_t offset, ssize_t count, UserOrKernelBuffer& if (m_raw_inode.i_size == 0) return 0; + if (static_cast(offset) >= size()) + return 0; + // Symbolic links shorter than 60 characters are store inline inside the i_block array. // This avoids wasting an entire block on short links. (Most links are short.) if (is_symlink() && size() < max_inline_symlink_length) { -- cgit v1.2.3