aboutsummaryrefslogtreecommitdiffstats
path: root/src/pmm.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2012-05-23 23:58:11 -0400
committerKevin O'Connor <kevin@koconnor.net>2012-05-23 23:58:11 -0400
commit33d5118d4482bc6e7ec08680c1fe343bd2c73d1f (patch)
tree36e0dfcb005368a7583ac386f143553e69aa56e8 /src/pmm.c
parent347f29452bbe2a57fc45cdbb3a4a34aff4ca222f (diff)
downloadseabios-33d5118d4482bc6e7ec08680c1fe343bd2c73d1f.tar.gz
Minor - verify UMB dummy optionrom header size doesn't overflow.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src/pmm.c')
-rw-r--r--src/pmm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/pmm.c b/src/pmm.c
index facea6bf..4cee4016 100644
--- a/src/pmm.c
+++ b/src/pmm.c
@@ -297,7 +297,8 @@ malloc_finalize(void)
u32 base = rom_get_top();
struct rom_header *dummyrom = (void*)base;
dummyrom->signature = OPTION_ROM_SIGNATURE;
- dummyrom->size = (BUILD_BIOS_ADDR - base) / 512;
+ int size = (BUILD_BIOS_ADDR - base) / 512;
+ dummyrom->size = (size > 255) ? 255 : size;
memset((void*)RomEnd, 0, base-RomEnd);
dprintf(1, "Space available for UMB: %08x-%08x\n", RomEnd, base);