:: commit 8f953d27e775bbdd8eaeda92fdb592e325af6be8

Mintsuki <mintsuki@protonmail.com> — 2026-03-05 06:53

parents: 72741d558c

protos/multiboot1: Validate load_end_addr >= load_addr to prevent underflow

diff --git a/common/protos/multiboot1.c b/common/protos/multiboot1.c
index 65d18686..d7c5c201 100644
--- a/common/protos/multiboot1.c
+++ b/common/protos/multiboot1.c
@@ -120,6 +120,8 @@ noreturn void multiboot1_load(char *config, char *cmdline) {
 
         size_t load_size;
         if (header.load_end_addr) {
+            if (header.load_end_addr < header.load_addr)
+                panic(true, "multiboot1: Load end address less than load address");
             load_size = header.load_end_addr - header.load_addr;
         } else {
             if (load_src > kernel_file_size)
tab: 248 wrap: offon