summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2017-04-20 16:40:30 +0200
committerMark Wielaard <mark@klomp.org>2017-04-27 20:19:54 +0200
commitd6655d9995e3fa9a2318261ec3ef5fc54996f69c (patch)
tree9ae1dac6f6fb6fe2479d944b47493b1dff84d026
parentefd60bee71b9613a97bf60fa4f8d4407f8460ccb (diff)
downloadelfutils-d6655d9995e3fa9a2318261ec3ef5fc54996f69c.tar.gz
Avoid signed/unsigned comparison
Some compilers implicitly cast the result of uint_fast16_t * uint_fast16_t to something signed and then complain about the comparison to (unsigned) size_t. Casting phnum to size_t is a good idea anyway as 16bit multiplication can easily overflow and we are not checking for this. Signed-off-by: Ulf Hermann <ulf.hermann@qt.io>
-rw-r--r--libdwfl/ChangeLog4
-rw-r--r--libdwfl/elf-from-memory.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index 92043209..9de28778 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,5 +1,9 @@
2017-04-20 Ulf Hermann <ulf.hermann@qt.io>
+ * elf-from-memory.c: Explicitly cast phnum to size_t.
+
+2017-04-20 Ulf Hermann <ulf.hermann@qt.io>
+
* dwfl_module_getdwarf.c: Check shnum for 0 before subtracting from
it.
diff --git a/libdwfl/elf-from-memory.c b/libdwfl/elf-from-memory.c
index dd42e954..12a0a1be 100644
--- a/libdwfl/elf-from-memory.c
+++ b/libdwfl/elf-from-memory.c
@@ -172,7 +172,7 @@ elf_from_remote_memory (GElf_Addr ehdr_vma,
{
/* Read in the program headers. */
- if (initial_bufsize < phnum * phentsize)
+ if (initial_bufsize < (size_t)phnum * phentsize)
{
unsigned char *newbuf = realloc (buffer, phnum * phentsize);
if (newbuf == NULL)