mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 10:08:10 +00:00
Kernel: Fix possible buffer overrun when scanning a MappedROM
If the length of the prefix was less than the chunk_size argument we were potentionally reading past the mapped memory region.
This commit is contained in:
parent
e70aa690d2
commit
190572b714
1 changed files with 4 additions and 1 deletions
|
@ -23,7 +23,10 @@ public:
|
|||
|
||||
Optional<PhysicalAddress> find_chunk_starting_with(StringView prefix, size_t chunk_size) const
|
||||
{
|
||||
for (auto* candidate = base(); candidate < end(); candidate += chunk_size) {
|
||||
auto prefix_length = prefix.length();
|
||||
if (size < prefix_length)
|
||||
return {};
|
||||
for (auto* candidate = base(); candidate <= end() - prefix_length; candidate += chunk_size) {
|
||||
if (!__builtin_memcmp(prefix.characters_without_null_termination(), candidate, prefix.length()))
|
||||
return paddr_of(candidate);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue