diff options
author | Alan Modra <amodra@gmail.com> | 2002-01-25 06:24:34 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2002-01-25 06:24:34 +0000 |
commit | c68836a9c07fe3bb11256a080fff889743a89aa1 (patch) | |
tree | 47f9b835d20652a1513af38533bb9c5f6a198ca3 | |
parent | c895725ba0442c5fb18e94f4516f474a4f12e9ab (diff) | |
download | gdb-c68836a9c07fe3bb11256a080fff889743a89aa1.zip gdb-c68836a9c07fe3bb11256a080fff889743a89aa1.tar.gz gdb-c68836a9c07fe3bb11256a080fff889743a89aa1.tar.bz2 |
* elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
unsigned overflow when new_offset < old_offset.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf-eh-frame.c | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d920d18..e30f06a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2002-01-25 Alan Modra <amodra@bigpond.net.au> + + * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid + unsigned overflow when new_offset < old_offset. + 2002-24-01 Philipp Thomas <pthomas@suse.de> * bfd.c (_bfd_abort): Fix typo. diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c index 56a59da..b479c00 100644 --- a/bfd/elf-eh-frame.c +++ b/bfd/elf-eh-frame.c @@ -1,5 +1,5 @@ /* .eh_frame section optimization. - Copyright 2001 Free Software Foundation, Inc. + Copyright 2001, 2002 Free Software Foundation, Inc. Written by Jakub Jelinek <jakub@redhat.com>. This file is part of BFD, the Binary File Descriptor library. @@ -867,8 +867,8 @@ _bfd_elf_eh_frame_section_offset (output_bfd, sec, offset) + sec_info->entry[mid].lsda_offset))) return (bfd_vma) -1; - return (offset - + (sec_info->entry[mid].new_offset - sec_info->entry[mid].offset)); + return (offset + sec_info->entry[mid].new_offset + - sec_info->entry[mid].offset); } /* Write out .eh_frame section. This is called with the relocated |