diff options
-rw-r--r-- | bfd/ChangeLog | 12 | ||||
-rw-r--r-- | bfd/libbfd.c | 4 |
2 files changed, 11 insertions, 5 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3cab920..5f840a1 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2017-06-27 Alan Modra <amodra@gmail.com> + + PR binutils/21665 + * libbfd.c (_bfd_generic_get_section_contents): Warning fix. + (_bfd_generic_get_section_contents_in_window): Likewise. + 2017-06-26 Kuan-Lin Chen <rufus@andestech.com> * elfnn-riscv.c (perform_relocation): Support the new @@ -42,7 +48,7 @@ * compress.c (bfd_get_full_section_contents): Don't check the file size here. * libbfd.c (_bfd_generic_get_section_contents): Check for and - reject a section whoes size + offset is greater than the size + reject a section whose size + offset is greater than the size of the entire file. (_bfd_generic_get_section_contents_in_window): Likewise. @@ -55,10 +61,10 @@ 2017-06-26 Nick Clifton <nickc@redhat.com> PR binutils/21665 - * opncls.c (get_build_id): Check that the section is beig enough + * opncls.c (get_build_id): Check that the section is big enough to contain the whole note. * compress.c (bfd_get_full_section_contents): Check for and reject - a section whoes size is greater than the size of the entire file. + a section whose size is greater than the size of the entire file. * elf32-v850.c (v850_elf_copy_notes): Allow for the ouput to not contain a notes section. diff --git a/bfd/libbfd.c b/bfd/libbfd.c index 0776451..0d9de2b 100644 --- a/bfd/libbfd.c +++ b/bfd/libbfd.c @@ -815,7 +815,7 @@ _bfd_generic_get_section_contents (bfd *abfd, filesz = bfd_get_file_size (abfd); if (offset + count < count || offset + count > sz - || section->filepos + offset + count > filesz) + || (ufile_ptr) section->filepos + offset + count > filesz) { bfd_set_error (bfd_error_invalid_operation); return FALSE; @@ -873,7 +873,7 @@ _bfd_generic_get_section_contents_in_window sz = section->size; filesz = bfd_get_file_size (abfd); if (offset + count > sz - || section->filepos + offset + count > filesz + || (ufile_ptr) section->filepos + offset + count > filesz || ! bfd_get_file_window (abfd, section->filepos + offset, count, w, TRUE)) return FALSE; |