[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/2] multiboot: Limit number of multiboot modules
From: |
adam |
Subject: |
[Qemu-devel] [PATCH 2/2] multiboot: Limit number of multiboot modules |
Date: |
Sun, 11 Oct 2009 15:48:41 +0200 |
From: Adam Lackorzynski <address@hidden>
Add size checks to avoid overwriting the multiboot structure
when too many modules are loaded.
Signed-off-by: Adam Lackorzynski <address@hidden>
---
hw/pc.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/hw/pc.c b/hw/pc.c
index e34ad9c..b190d22 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -702,6 +702,10 @@ static int load_multiboot(void *fw_cfg,
int mb_mod_count = 0;
do {
+ if (mb_mod_info + 16 > mb_mod_cmdline) {
+ printf("WARNING: Too many modules loaded, aborting.\n");
+ break;
+ }
next_initrd = strchr(initrd_filename, ',');
if (next_initrd)
*next_initrd = '\0';
@@ -712,8 +716,11 @@ static int load_multiboot(void *fw_cfg,
initrd_filename);
stl_p(bootinfo + mb_mod_info + 8, mb_bootinfo + mb_mod_cmdline);
/* string */
mb_mod_cmdline += strlen(initrd_filename) + 1;
- if (mb_mod_cmdline > sizeof(bootinfo))
+ if (mb_mod_cmdline > sizeof(bootinfo)) {
mb_mod_cmdline = sizeof(bootinfo);
+ printf("WARNING: Too many module cmdlines loaded,
aborting.\n");
+ break;
+ }
if ((next_space = strchr(initrd_filename, ' ')))
*next_space = '\0';
#ifdef DEBUG_MULTIBOOT
--
1.6.4.3
- [Qemu-devel] [PATCH 1/2] multiboot: Fix cmdline of modules, adam, 2009/10/11
- [Qemu-devel] [PATCH 2/2] multiboot: Limit number of multiboot modules,
adam <=
- Re: [Qemu-devel] [PATCH 2/2] multiboot: Limit number of multiboot modules, Kevin Wolf, 2009/10/12
- Re: [Qemu-devel] [PATCH 2/2] multiboot: Limit number of multiboot modules, Adam Lackorzynski, 2009/10/12
- Re: [Qemu-devel] [PATCH 2/2] multiboot: Limit number of multiboot modules, Adam Lackorzynski, 2009/10/14
- Re: [Qemu-devel] [PATCH 2/2] multiboot: Limit number of multiboot modules, Kevin Wolf, 2009/10/19
- Re: [Qemu-devel] [PATCH 2/2] multiboot: Limit number of multiboot modules, Adam Lackorzynski, 2009/10/20
- Message not available
- [Qemu-devel] Re: [PATCH 2/2] multiboot: Limit number of multiboot modules, Kevin Wolf, 2009/10/21
Re: [Qemu-devel] [PATCH 1/2] multiboot: Fix cmdline of modules, Kevin Wolf, 2009/10/12