Kernel: Strip SUID+SGID bits from file when written to or chowned

Fixes #1624.
This commit is contained in:
Andreas Kling 2020-04-04 19:46:55 +02:00
parent 040ba77d44
commit 53d0ca2ad8
Notes: sideshowbarker 2024-07-19 07:56:12 +09:00
6 changed files with 36 additions and 0 deletions

View file

@ -760,6 +760,10 @@ ssize_t Ext2FSInode::write_bytes(off_t offset, ssize_t count, const u8* data, Fi
Locker inode_locker(m_lock);
Locker fs_locker(fs().m_lock);
auto result = prepare_to_write_data();
if (result.is_error())
return result;
if (is_symlink()) {
ASSERT(offset == 0);
if (max((size_t)(offset + count), (size_t)m_raw_inode.i_size) < max_inline_symlink_length) {