]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
Avoid sign-extension error on multiplication
authorLucas De Marchi <lucas.demarchi@intel.com>
Sat, 28 Feb 2015 19:07:55 +0000 (16:07 -0300)
committerLucas De Marchi <lucas.demarchi@intel.com>
Sat, 28 Feb 2015 19:07:55 +0000 (16:07 -0300)
Do not promote "idx * elf->header.section.entry_size" to int. Explicitly
cast the result to uint64_t so it's zero-extended.

libkmod/libkmod-elf.c

index 2f50ad2d4c1fa4dab8dd126543234a5f02302559..90da89aebbaf67c692d55e78f150830b957087ae 100644 (file)
@@ -218,7 +218,7 @@ static inline const void *elf_get_section_header(const struct kmod_elf *elf, uin
                return NULL;
        }
        return elf_get_mem(elf, elf->header.section.offset +
-                          idx * elf->header.section.entry_size);
+                          (uint64_t)(idx * elf->header.section.entry_size));
 }
 
 static inline int elf_get_section_info(const struct kmod_elf *elf, uint16_t idx, uint64_t *offset, uint64_t *size, uint32_t *nameoff)