From d218686c0adde4454e4006a91a9a9b1cf18ccbd5 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 24 Feb 2019 14:24:04 +0100 Subject: [PATCH] Ext2FS: Don't copy more than sizeof(ext2_inode) bytes of raw inode data. Some file systems have inodes larger than sizeof(ext2_inode) so this would stomp all over unrelated data. --- Kernel/Ext2FileSystem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Kernel/Ext2FileSystem.cpp b/Kernel/Ext2FileSystem.cpp index 0ec0aa50cb..94c49b72d3 100644 --- a/Kernel/Ext2FileSystem.cpp +++ b/Kernel/Ext2FileSystem.cpp @@ -424,7 +424,7 @@ RetainPtr Ext2FS::get_inode(InodeIdentifier inode) const if (it != m_inode_cache.end()) return (*it).value; auto new_inode = adopt(*new Ext2FSInode(const_cast(*this), inode.index())); - memcpy(&new_inode->m_raw_inode, reinterpret_cast(block.offset_pointer(offset)), inode_size()); + memcpy(&new_inode->m_raw_inode, reinterpret_cast(block.offset_pointer(offset)), sizeof(ext2_inode)); m_inode_cache.set(inode.index(), new_inode.copy_ref()); return new_inode; }