This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Fix overflow in addend_compare
- From: Andreas Schwab <schwab at suse dot de>
- To: binutils at sourceware dot org
- Date: Mon, 16 Oct 2006 19:22:38 +0200
- Subject: Fix overflow in addend_compare
Trying to put the difference between two bfd_vma values in an int is not
going to give useful results. Committed as obvious.
Andreas.
2006-10-16 Andreas Schwab <schwab@suse.de>
* elfxx-ia64.c (addend_compare): Properly compute return value.
--- bfd/elfxx-ia64.c.~1.190.~ 2006-09-18 10:58:08.000000000 +0200
+++ bfd/elfxx-ia64.c 2006-10-16 19:15:32.000000000 +0200
@@ -2209,7 +2209,7 @@ addend_compare (const void *xp, const vo
const struct elfNN_ia64_dyn_sym_info *y
= (const struct elfNN_ia64_dyn_sym_info *) yp;
- return x->addend - y->addend;
+ return x->addend < y->addend ? -1 : x->addend > y->addend ? 1 : 0;
}
/* Sort elfNN_ia64_dyn_sym_info array and remove duplicates. */
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."