From b4477bc81824800248d44f141aeaf63e00314a01 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Mon, 18 May 2015 15:58:46 +0100 Subject: Fix seg-fault in readelf when decoding corrupt IA64 unwind information. PR binutils/18420 * ia64-unwind.c (unw_decode): Add end parameter. Pass parameter on to decode functions. (unw_devode_p2_p5): Pass end paraemter to UNW_DEC_SPILL_MASK. (UNW_DEC_SPILL_MASK): Add end parameter. Check that unw_rlen does not take us beyond the end of the buffer. * ia64-unwind.h (unw_decode): Update prototype. * readelf.c (dump_ia64_unwind): Pass end pointer to unw_decode. --- binutils/ChangeLog | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'binutils/ChangeLog') diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 4813a89..6bb1f1a 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,14 @@ +2015-05-18 Nick Clifton + + PR binutils/18420 + * ia64-unwind.c (unw_decode): Add end parameter. Pass parameter + on to decode functions. + (unw_devode_p2_p5): Pass end paraemter to UNW_DEC_SPILL_MASK. + (UNW_DEC_SPILL_MASK): Add end parameter. Check that unw_rlen does + not take us beyond the end of the buffer. + * ia64-unwind.h (unw_decode): Update prototype. + * readelf.c (dump_ia64_unwind): Pass end pointer to unw_decode. + 2015-05-15 H.J. Lu * readelf.c (dump_section_as_strings): Change pointers from -- cgit v1.1