Correct buffer overrun test
authorAlan Modra <amodra@gmail.com>
Sat, 8 Nov 2014 01:42:08 +0000 (12:12 +1030)
committerAlan Modra <amodra@gmail.com>
Sat, 8 Nov 2014 02:10:09 +0000 (12:40 +1030)
* peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead.

bfd/ChangeLog
bfd/peXXigen.c

index dfa8c19..23c8419 100644 (file)
@@ -1,3 +1,7 @@
+2014-11-08  Alan Modra  <amodra@gmail.com>
+
+       * peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead.
+
 2014-11-07  H.J. Lu  <hongjiu.lu@intel.com>
 
        * peXXigen.c (pe_print_idata): Cast to unsigned long in range
index 2b63e2a..ea1459b 100644 (file)
@@ -1467,7 +1467,7 @@ pe_print_idata (bfd * abfd, void * vfile)
                         member_high, member,
                         WithoutHighBit (member_high), member);
              /* PR binutils/17512: Handle corrupt PE data.  */
-             else if (member - adj + 2 >= (unsigned long) datasize)
+             else if ((bfd_vma) member - adj + 2 >= datasize)
                fprintf (file, _("\t<corrupt: 0x%04lx>"), member);
              else
                {
@@ -1502,7 +1502,7 @@ pe_print_idata (bfd * abfd, void * vfile)
                fprintf (file, "\t%04lx\t %4lu  <none>",
                         member, WithoutHighBit (member));
              /* PR binutils/17512: Handle corrupt PE data.  */
-             else if (member - adj + 2 >= (unsigned long) datasize)
+             else if ((bfd_vma) member - adj + 2 >= datasize)
                fprintf (file, _("\t<corrupt: 0x%04lx>"), member);
              else
                {