Use the file_ptr type when calling bfd_seek.
PR ld/19123 * elfcore.h (elf_core_file_p): Use the file_ptr type to hold the offset for bfd_seek. * elfcode.h (elf_object_p): Likewise.
This commit is contained in:
parent
35cd5fc22e
commit
b32a5c16f1
@ -1,3 +1,10 @@
|
||||
2015-10-15 Riku Voipio <riku.voipio@iki.fi>
|
||||
|
||||
PR ld/19123
|
||||
* elfcore.h (elf_core_file_p): Use the file_ptr type to hold the
|
||||
offset for bfd_seek.
|
||||
* elfcode.h (elf_object_p): Likewise.
|
||||
|
||||
2015-10-14 Rich Felker <dalias@libc.org>
|
||||
|
||||
PR ld/19091
|
||||
|
@ -605,13 +605,10 @@ elf_object_p (bfd *abfd)
|
||||
|
||||
if (i_ehdrp->e_shoff != 0)
|
||||
{
|
||||
bfd_signed_vma where = i_ehdrp->e_shoff;
|
||||
|
||||
if (where != (file_ptr) where)
|
||||
goto got_wrong_format_error;
|
||||
file_ptr where = (file_ptr) i_ehdrp->e_shoff;
|
||||
|
||||
/* Seek to the section header table in the file. */
|
||||
if (bfd_seek (abfd, (file_ptr) where, SEEK_SET) != 0)
|
||||
if (bfd_seek (abfd, where, SEEK_SET) != 0)
|
||||
goto got_no_match;
|
||||
|
||||
/* Read the first section header at index 0, and convert to internal
|
||||
@ -657,19 +654,17 @@ elf_object_p (bfd *abfd)
|
||||
goto got_wrong_format_error;
|
||||
|
||||
where += (i_ehdrp->e_shnum - 1) * sizeof (x_shdr);
|
||||
if (where != (file_ptr) where)
|
||||
goto got_wrong_format_error;
|
||||
if ((bfd_size_type) where <= i_ehdrp->e_shoff)
|
||||
goto got_wrong_format_error;
|
||||
|
||||
if (bfd_seek (abfd, (file_ptr) where, SEEK_SET) != 0)
|
||||
if (bfd_seek (abfd, where, SEEK_SET) != 0)
|
||||
goto got_no_match;
|
||||
if (bfd_bread (&x_shdr, sizeof x_shdr, abfd) != sizeof (x_shdr))
|
||||
goto got_no_match;
|
||||
|
||||
/* Back to where we were. */
|
||||
where = i_ehdrp->e_shoff + sizeof (x_shdr);
|
||||
if (bfd_seek (abfd, (file_ptr) where, SEEK_SET) != 0)
|
||||
if (bfd_seek (abfd, where, SEEK_SET) != 0)
|
||||
goto got_no_match;
|
||||
}
|
||||
}
|
||||
|
@ -188,13 +188,10 @@ elf_core_file_p (bfd *abfd)
|
||||
{
|
||||
Elf_External_Shdr x_shdr;
|
||||
Elf_Internal_Shdr i_shdr;
|
||||
bfd_signed_vma where = i_ehdrp->e_shoff;
|
||||
|
||||
if (where != (file_ptr) where)
|
||||
goto wrong;
|
||||
file_ptr where = (file_ptr) i_ehdrp->e_shoff;
|
||||
|
||||
/* Seek to the section header table in the file. */
|
||||
if (bfd_seek (abfd, (file_ptr) where, SEEK_SET) != 0)
|
||||
if (bfd_seek (abfd, where, SEEK_SET) != 0)
|
||||
goto fail;
|
||||
|
||||
/* Read the first section header at index 0, and convert to internal
|
||||
@ -217,7 +214,7 @@ elf_core_file_p (bfd *abfd)
|
||||
{
|
||||
Elf_External_Phdr x_phdr;
|
||||
Elf_Internal_Phdr i_phdr;
|
||||
bfd_signed_vma where;
|
||||
file_ptr where;
|
||||
|
||||
/* Check that we don't have a totally silly number of
|
||||
program headers. */
|
||||
@ -225,13 +222,11 @@ elf_core_file_p (bfd *abfd)
|
||||
|| i_ehdrp->e_phnum > (unsigned int) -1 / sizeof (i_phdr))
|
||||
goto wrong;
|
||||
|
||||
where = i_ehdrp->e_phoff + (i_ehdrp->e_phnum - 1) * sizeof (x_phdr);
|
||||
if (where != (file_ptr) where)
|
||||
goto wrong;
|
||||
where = (file_ptr)(i_ehdrp->e_phoff + (i_ehdrp->e_phnum - 1) * sizeof (x_phdr));
|
||||
if ((bfd_size_type) where <= i_ehdrp->e_phoff)
|
||||
goto wrong;
|
||||
|
||||
if (bfd_seek (abfd, (file_ptr) where, SEEK_SET) != 0)
|
||||
if (bfd_seek (abfd, where, SEEK_SET) != 0)
|
||||
goto fail;
|
||||
if (bfd_bread (&x_phdr, sizeof (x_phdr), abfd) != sizeof (x_phdr))
|
||||
goto fail;
|
||||
|
Loading…
Reference in New Issue
Block a user