From 205e00dc088678472250d36efebda7fb58d02d66 Mon Sep 17 00:00:00 2001 From: jn Date: Mon, 30 Jan 2023 13:53:44 +0100 Subject: [PATCH] Add file type check to parse_fxf_binary --- kernel/fxf/fxf.asm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/kernel/fxf/fxf.asm b/kernel/fxf/fxf.asm index b16e9bc..bce51d9 100644 --- a/kernel/fxf/fxf.asm +++ b/kernel/fxf/fxf.asm @@ -4,14 +4,22 @@ ; inputs: ; r0: pointer to memory buffer containing an FXF binary ; outputs: -; r0: relocation address +; r0: relocation address or 0 on error parse_fxf_binary: - ; TODO: check the magic bytes and header version + push r1 + mov r1, [r0] + cmp r1, [fxf_magic] + ifnz pop r1 + ifnz mov r0, 0 + ifnz ret + pop r1 call fxf_reloc ret +fxf_magic: data.str "FXF" data.8 0 + #include "fxf/reloc.asm" const FXF_CODE_SIZE: 0x00000004