mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-11 13:36:13 +03:00
Kernel: Harden Ext2FileSystem Vector usage against OOM.
This commit is contained in:
parent
2ee1731966
commit
f05086a5d2
Notes:
sideshowbarker
2024-07-18 18:50:02 +09:00
Author: https://github.com/bgianfo Commit: https://github.com/SerenityOS/serenity/commit/f05086a5d2d Pull-request: https://github.com/SerenityOS/serenity/pull/6756 Reviewed-by: https://github.com/awesomekling
@ -904,7 +904,8 @@ KResult Ext2FSInode::resize(u64 new_size)
|
||||
auto blocks_or_error = fs().allocate_blocks(fs().group_index_from_inode(index()), blocks_needed_after - blocks_needed_before);
|
||||
if (blocks_or_error.is_error())
|
||||
return blocks_or_error.error();
|
||||
m_block_list.append(blocks_or_error.release_value());
|
||||
if (!m_block_list.try_append(blocks_or_error.release_value()))
|
||||
return ENOMEM;
|
||||
} else if (blocks_needed_after < blocks_needed_before) {
|
||||
if constexpr (EXT2_VERY_DEBUG) {
|
||||
dbgln("Ext2FSInode[{}]::resize(): Shrinking inode, old block list is {} entries:", identifier(), m_block_list.size());
|
||||
@ -1451,7 +1452,8 @@ KResultOr<Ext2FS::CachedBitmap*> Ext2FS::get_bitmap_block(BlockIndex bitmap_bloc
|
||||
dbgln("Ext2FS: Failed to load bitmap block {}", bitmap_block_index);
|
||||
return result;
|
||||
}
|
||||
m_cached_bitmaps.append(make<CachedBitmap>(bitmap_block_index, move(block)));
|
||||
if (!m_cached_bitmaps.try_append(make<CachedBitmap>(bitmap_block_index, move(block))))
|
||||
return ENOMEM;
|
||||
return m_cached_bitmaps.last();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user