Signed-off-by: Mark Wielaard <[email protected]> --- libelf/ChangeLog | 4 ++++ libelf/elf_getarsym.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/libelf/ChangeLog b/libelf/ChangeLog index e03ee09..4860530 100644 --- a/libelf/ChangeLog +++ b/libelf/ChangeLog @@ -1,3 +1,7 @@ +2014-12-09 Mark Wielaard <[email protected]> + + * elf_getarsym.c (elf_getarsym): Make sure n * w doesn't overflow. + 2014-11-27 Mark Wielaard <[email protected]> * Makefile.am (libelf.so): Use textrel_check. diff --git a/libelf/elf_getarsym.c b/libelf/elf_getarsym.c index 7325190..ba88aa0 100644 --- a/libelf/elf_getarsym.c +++ b/libelf/elf_getarsym.c @@ -186,7 +186,7 @@ elf_getarsym (elf, ptr) #if SIZE_MAX <= 4294967295U || n >= SIZE_MAX / sizeof (Elf_Arsym) #endif - || n * w > index_size) + || n > index_size / w) { /* This index table cannot be right since it does not fit into the file. */ -- 1.8.3.1
