In mb_mod_length a return value is stored that is negative in error case. With
an unsigned type the check goes wrong.

Signed-off-by: Kevin Wolf <kw...@redhat.com>
---
 hw/pc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/hw/pc.c b/hw/pc.c
index 7c791c4..cb3b6c9 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -619,7 +619,7 @@ static int load_multiboot(void *fw_cfg,
         uint32_t mb_mod_info = 0x100;
         uint32_t mb_mod_cmdline = 0x300;
         uint32_t mb_mod_start = mh_load_addr;
-        uint32_t mb_mod_length = mb_kernel_size;
+        int mb_mod_length = mb_kernel_size;
         char *next_initrd;
         char *next_space;
         int mb_mod_count = 0;
-- 
1.6.2.5



Reply via email to