diff options
author | Nick Clifton <nickc@redhat.com> | 2018-03-13 14:02:52 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2018-03-13 14:02:52 +0000 |
commit | 3e33b239450771394fa6c83b67b9de80169f35e8 (patch) | |
tree | 41501559be5295fda0d75f60a14c4bf2b5ef19e9 /bfd/linker.c | |
parent | b0d186effc0af8d5f5f012895a194e7e01d4804c (diff) | |
download | gdb-3e33b239450771394fa6c83b67b9de80169f35e8.zip gdb-3e33b239450771394fa6c83b67b9de80169f35e8.tar.gz gdb-3e33b239450771394fa6c83b67b9de80169f35e8.tar.bz2 |
Prevent memory access violations when attempting to parse an x86_64 PE binary containing corrupt unwind information.
PR 22113
incldue * coff/pe.h (struct pex64_unwind_info): Add a rawUnwindCodesEnd
field.
bfd * pei-x86_64.c (pex64_get_unwind_info): Change to a boolean
function. Add an end address parameter. Check access of the data
pointer to make sure that they do not extend beyond the end
address. Return FALSE if any check fails. Add the end address
pointer to the ui structure.
(pex64_xdata_print_uwd_codes): Check accesses of the raw unwind
codes to make sure that they do not extend beyond the end address
pointer. Print an error message and return immediately if any
check fails.
Diffstat (limited to 'bfd/linker.c')
0 files changed, 0 insertions, 0 deletions