From: Mark Wielaard Date: Sun, 16 Nov 2014 10:19:29 +0000 (+0100) Subject: libelf: getdata check 64bit values correctly on 32bit arch. X-Git-Tag: elfutils-0.161~86 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=502430c7b2f5ad6bc14a268d8b85e032db970c63;p=thirdparty%2Felfutils.git libelf: getdata check 64bit values correctly on 32bit arch. On 32bit arches size_t is too small to do size and overflow checks of 64bit ELF files. Use the actual Elf64 types to make sure checks on 64bit ELF files are done correctly on 32bit arches. Signed-off-by: Mark Wielaard --- diff --git a/libelf/ChangeLog b/libelf/ChangeLog index 4fbe94c93..488609392 100644 --- a/libelf/ChangeLog +++ b/libelf/ChangeLog @@ -1,3 +1,8 @@ +2014-11-16 Mark Wielaard + + * elf_getdata.c (__libelf_set_rawdata_wrlock): Declare offset, size + and align as Elf64_Off and Elf64_Xword not size_t. + 2014-11-14 Mark Wielaard * gelf_getnote.c (gelf_getnote): Check offset overflow. diff --git a/libelf/elf_getdata.c b/libelf/elf_getdata.c index 1ce1e23b5..0aeb9972e 100644 --- a/libelf/elf_getdata.c +++ b/libelf/elf_getdata.c @@ -170,9 +170,9 @@ int internal_function __libelf_set_rawdata_wrlock (Elf_Scn *scn) { - size_t offset; - size_t size; - size_t align; + Elf64_Off offset; + Elf64_Xword size; + Elf64_Xword align; int type; Elf *elf = scn->elf;