mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-04-23 21:14:31 +00:00
AK: Make MappedFile heap-allocated and ref-counted
Let's adapt this class a bit better to how it's actually being used. Instead of having valid/invalid states and storing an error in case it's invalid, a MappedFile is now always valid, and the factory function that creates it will return an OSError if mapping fails.
This commit is contained in:
@@ -60,9 +60,10 @@ DisassemblyModel::DisassemblyModel(Profile& profile, ProfileNode& node)
|
||||
FlatPtr base_address = 0;
|
||||
if (m_node.address() >= 0xc0000000) {
|
||||
if (!m_kernel_file) {
|
||||
m_kernel_file = new MappedFile("/boot/Kernel");
|
||||
if (!m_kernel_file->is_valid())
|
||||
auto file_or_error = MappedFile::map("/boot/Kernel");
|
||||
if (file_or_error.is_error())
|
||||
return;
|
||||
m_kernel_file = file_or_error.release_value();
|
||||
}
|
||||
kernel_elf = make<ELF::Image>((const u8*)m_kernel_file->data(), m_kernel_file->size());
|
||||
elf = kernel_elf.ptr();
|
||||
|
||||
Reference in New Issue
Block a user