diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-04 14:24:23 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-04 14:24:23 +0100 |
| commit | f8d0d1d8f2745e9fad759638c74d0047fda36fee (patch) | |
| tree | 47e243458597a002e8e30c6cc42a97e0bbf90821 | |
| parent | 5c8b167320df4cd3cd91d36705ff9bad4d0e73c4 (diff) | |
fix: PEFCodeMgr: container_header didn't increment, fixed that.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
| -rw-r--r-- | dev/kernel/src/PEFCodeMgr.cc | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/dev/kernel/src/PEFCodeMgr.cc b/dev/kernel/src/PEFCodeMgr.cc index 22ef7ba3..da69202e 100644 --- a/dev/kernel/src/PEFCodeMgr.cc +++ b/dev/kernel/src/PEFCodeMgr.cc @@ -153,28 +153,28 @@ ErrorOr<VoidPtr> PEFLoader::FindSymbol(const Char* name, Int32 kind) { error_or_symbol.Leak().Leak() += name; for (SizeT index = 0; index < container->Count; ++index) { - if (KStringBuilder::Equals(container_header->Name, error_or_symbol.Leak().Leak().CData())) { - if (container_header->Kind == kind) { - if (container_header->Cpu != Detail::ldr_get_platform()) { + if (KStringBuilder::Equals(container_header[index].Name, error_or_symbol.Leak().Leak().CData())) { + if (container_header[index].Kind == kind) { + if (container_header[index].Cpu != Detail::ldr_get_platform()) { if (!this->fFatBinary) { mm_free_ptr(blob); return ErrorOr<VoidPtr>{kErrorInvalidData}; } } - Char* container_blob_value = new Char[container_header->VMSize]; + Char* container_blob_value = new Char[container_header[index].VMSize]; rt_copy_memory_safe((VoidPtr) ((Char*) blob + sizeof(PEFCommandHeader)), - container_blob_value, container_header->VMSize, - container_header->VMSize); + container_blob_value, container_header[index].VMSize, + container_header[index].VMSize); mm_free_ptr(blob); - kout << "PEFLoader: info: Loaded stub: " << container_header->Name << "!\r"; + kout << "PEFLoader: info: Loaded stub: " << container_header[index].Name << "!\r"; auto ret = false; - for (SizeT i_vm{}; i_vm < container_header->VMSize; ++i_vm) { - ret = HAL::mm_map_page((VoidPtr) (container_header->VMAddress + i_vm), + for (SizeT i_vm{}; i_vm < container_header[index].VMSize; ++i_vm) { + ret = HAL::mm_map_page((VoidPtr) (container_header[index].VMAddress + i_vm), (VoidPtr) HAL::mm_get_page_addr(container_blob_value), HAL::kMMFlagsPresent | HAL::kMMFlagsUser); |
