From d1f5d98a185f0a6f026d265d5bf463f1f91c1256 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 8 Nov 2014 12:12:08 +1030 Subject: [PATCH] Correct buffer overrun test * peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead. --- bfd/ChangeLog | 4 ++++ bfd/peXXigen.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index dfa8c193477..23c8419b5c0 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2014-11-08 Alan Modra + + * peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead. + 2014-11-07 H.J. Lu * peXXigen.c (pe_print_idata): Cast to unsigned long in range diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c index 2b63e2a4db6..ea1459bdef5 100644 --- a/bfd/peXXigen.c +++ b/bfd/peXXigen.c @@ -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"), member); else { @@ -1502,7 +1502,7 @@ pe_print_idata (bfd * abfd, void * vfile) fprintf (file, "\t%04lx\t %4lu ", 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"), member); else { -- 2.30.2