diff options
| author | Amlal <amlal@nekernel.org> | 2025-08-12 19:35:27 +0200 |
|---|---|---|
| committer | Amlal <amlal@nekernel.org> | 2025-08-12 19:35:27 +0200 |
| commit | 621310537c26e8ac0fb3c0d2e38aaa12e3945eec (patch) | |
| tree | c3d3767846c7e6436168866ddb9db257ff51c054 /dev/kernel/src/PEFCodeMgr.cc | |
| parent | f3c12b72db9e6983741c0d79fd7f8903c23d93d4 (diff) | |
feat! abi! Breaking ABI changes in the PEF format!
Signed-off-by: Amlal <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/src/PEFCodeMgr.cc')
| -rw-r--r-- | dev/kernel/src/PEFCodeMgr.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/dev/kernel/src/PEFCodeMgr.cc b/dev/kernel/src/PEFCodeMgr.cc index 3cbc4faa..c0caeb5b 100644 --- a/dev/kernel/src/PEFCodeMgr.cc +++ b/dev/kernel/src/PEFCodeMgr.cc @@ -71,7 +71,9 @@ PEFLoader::PEFLoader(const Char* path) : fCachedBlob(nullptr), fFatBinary(false) PEFContainer* container = reinterpret_cast<PEFContainer*>(fCachedBlob); - if (container->Abi == kPefAbi) { + if (container->Abi == kPefAbi && + container->Count >= + 3) { /* if same ABI, AND: .text, .bss, .data (or at least similar) exists */ if (container->Cpu == Detail::ldr_get_platform() && container->Magic[0] == kPefMagic[0] && container->Magic[1] == kPefMagic[1] && container->Magic[2] == kPefMagic[2] && container->Magic[3] == kPefMagic[3] && container->Magic[4] == kPefMagic[4]) { |
