summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2019-04-28 23:16:06 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2019-04-28 23:17:34 +0200
commit843738b4e2333d8e9e3e02bc4d4474a56a28b88b (patch)
treed4e506187ff465f0da56cc53aa84cb169f384ed3
parent7ea9deb34fc56120754b29560944364e24aba62a (diff)
Avoid calling biosmem with size 0
* i386/configfrag.ac (register_boot_data): Process modules only when their count is non-zero. (i386at_init): Likewise.
-rw-r--r--i386/i386at/model_dep.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/i386/i386at/model_dep.c b/i386/i386at/model_dep.c
index 08c9238c..b25676fd 100644
--- a/i386/i386at/model_dep.c
+++ b/i386/i386at/model_dep.c
@@ -289,7 +289,7 @@ register_boot_data(const struct multiboot_raw_info *mbi)
+ strlen((void *)phystokv(mbi->cmdline)) + 1, TRUE);
}
- if (mbi->flags & MULTIBOOT_LOADER_MODULES) {
+ if (mbi->flags & MULTIBOOT_LOADER_MODULES && mbi->mods_count) {
i = mbi->mods_count * sizeof(struct multiboot_raw_module);
biosmem_register_boot_data(mbi->mods_addr, mbi->mods_addr + i, TRUE);
@@ -374,7 +374,7 @@ i386at_init(void)
boot_info.cmdline = addr;
}
- if (boot_info.flags & MULTIBOOT_MODS) {
+ if (boot_info.flags & MULTIBOOT_MODS && boot_info.mods_count) {
struct multiboot_module *m;
int i;