Signed-off-by: Mark Wielaard <[email protected]>
---
 src/ChangeLog |    6 ++++++
 src/readelf.c |    4 ++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 72f9924..3012bf4 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2013-11-05  Mark Wielaard  <[email protected]>
+
+       * readelf.c (print_debug_ranges_section): Cast address to size_t
+       before comparison.
+       (print_debug_loc_section): Likewise.
+
 2013-10-18  Mark Wielaard  <[email protected]>
 
        * ar.c (main): Correct operation check when instance_specifed is set.
diff --git a/src/readelf.c b/src/readelf.c
index d1a5b68..ac2f2b0 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -4638,7 +4638,7 @@ print_debug_ranges_section (Dwfl_Module *dwflmod,
                                      offset, &readp, endp))
        continue;
 
-      if (unlikely (data->d_size - offset < address_size * 2))
+      if (unlikely (data->d_size - offset < (size_t) address_size * 2))
        {
          printf (gettext (" [%6tx]  <INVALID DATA>\n"), offset);
          break;
@@ -6554,7 +6554,7 @@ print_debug_loc_section (Dwfl_Module *dwflmod,
                                      &cu, offset, &readp, endp))
        continue;
 
-      if (unlikely (data->d_size - offset < address_size * 2))
+      if (unlikely (data->d_size - offset < (size_t) address_size * 2))
        {
          printf (gettext (" [%6tx]  <INVALID DATA>\n"), offset);
          break;
-- 
1.7.1

Reply via email to