aboutsummaryrefslogtreecommitdiff
path: root/binutils/unwind-ia64.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2015-05-18 15:58:46 +0100
committerNick Clifton <nickc@redhat.com>2015-05-18 15:58:46 +0100
commitb4477bc81824800248d44f141aeaf63e00314a01 (patch)
treed2bb94c922fcbf4e860b6dd1d688644e94a825b0 /binutils/unwind-ia64.h
parent35d7c4317b85948f0a3e021d719811481d13fe45 (diff)
downloadgdb-b4477bc81824800248d44f141aeaf63e00314a01.zip
gdb-b4477bc81824800248d44f141aeaf63e00314a01.tar.gz
gdb-b4477bc81824800248d44f141aeaf63e00314a01.tar.bz2
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.
Diffstat (limited to 'binutils/unwind-ia64.h')
-rw-r--r--binutils/unwind-ia64.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/binutils/unwind-ia64.h b/binutils/unwind-ia64.h
index 6fc1712..15d1b7b 100644
--- a/binutils/unwind-ia64.h
+++ b/binutils/unwind-ia64.h
@@ -29,4 +29,4 @@
#define UNW_FLAG_UHANDLER(x) ((x) & 0x0000000200000000LL)
#define UNW_LENGTH(x) ((x) & 0x00000000ffffffffLL)
-extern const unsigned char *unw_decode (const unsigned char *, int, void *);
+extern const unsigned char *unw_decode (const unsigned char *, int, void *, const unsigned char *);