mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 13:28:11 +00:00
Kernel: Propagate overflow errors from Memory::page_round_up
Fixes #11402.
This commit is contained in:
parent
11599a3342
commit
33b78915d3
31 changed files with 112 additions and 100 deletions
|
@ -20,8 +20,11 @@ inline bool KBufferBuilder::check_expand(size_t size)
|
|||
size_t new_buffer_size = m_size + size;
|
||||
if (Checked<size_t>::addition_would_overflow(new_buffer_size, 1 * MiB))
|
||||
return false;
|
||||
new_buffer_size = Memory::page_round_up(new_buffer_size + 1 * MiB);
|
||||
auto new_buffer_or_error = KBuffer::try_create_with_size(new_buffer_size);
|
||||
auto rounded_new_buffer_size_or_error = Memory::page_round_up(new_buffer_size + 1 * MiB);
|
||||
if (rounded_new_buffer_size_or_error.is_error()) {
|
||||
return false;
|
||||
}
|
||||
auto new_buffer_or_error = KBuffer::try_create_with_size(rounded_new_buffer_size_or_error.value());
|
||||
if (new_buffer_or_error.is_error())
|
||||
return false;
|
||||
auto new_buffer = new_buffer_or_error.release_value();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue