]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
kern/elf: fix unintended sign extension
authorAndrei Borzenkov <arvidjaar@gmail.com>
Sat, 9 Jan 2016 16:41:26 +0000 (19:41 +0300)
committerAndrei Borzenkov <arvidjaar@gmail.com>
Sat, 9 Jan 2016 16:41:26 +0000 (19:41 +0300)
Found by: Coverity scan.
CID: 73729, 73735, 73758, 73760

grub-core/kern/elfXX.c

index b91c39d9e8bd74a43760cd29a51fe8a7fb228adf..1859d18807490cbc9f2c057fa8b39e37d52380dc 100644 (file)
@@ -12,7 +12,7 @@ grub_elfXX_load_phdrs (grub_elf_t elf)
   if (elf->phdrs)
     return GRUB_ERR_NONE;
 
-  phdrs_size = elf->ehdr.ehdrXX.e_phnum * elf->ehdr.ehdrXX.e_phentsize;
+  phdrs_size = (grub_uint32_t) elf->ehdr.ehdrXX.e_phnum * elf->ehdr.ehdrXX.e_phentsize;
 
   grub_dprintf ("elf", "Loading program headers at 0x%llx, size 0x%lx.\n",
                (unsigned long long) elf->ehdr.ehdrXX.e_phoff,