Fix seg-fault in readelf when decoding corrupt IA64 unwind information.
authorNick Clifton <nickc@redhat.com>
Mon, 18 May 2015 14:58:46 +0000 (15:58 +0100)
committerNick Clifton <nickc@redhat.com>
Mon, 18 May 2015 14:58:46 +0000 (15:58 +0100)
commitb4477bc81824800248d44f141aeaf63e00314a01
treed2bb94c922fcbf4e860b6dd1d688644e94a825b0
parent35d7c4317b85948f0a3e021d719811481d13fe45
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
binutils/readelf.c
binutils/unwind-ia64.c
binutils/unwind-ia64.h