PowerPC64 offset check should test entire 64-bit value is in section
PR binutils/17512 * elf64-ppc.c (opd_entry_value): Tighten offset check. Remove now redundant assert.
This commit is contained in:
parent
fc4c425de7
commit
451dfd3843
|
@ -1,3 +1,9 @@
|
|||
2015-02-13 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR binutils/17512
|
||||
* elf64-ppc.c (opd_entry_value): Tighten offset check. Remove
|
||||
now redundant assert.
|
||||
|
||||
2015-02-12 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR binutils/17512
|
||||
|
|
|
@ -5952,7 +5952,7 @@ opd_entry_value (asection *opd_sec,
|
|||
}
|
||||
|
||||
/* PR 17512: file: 64b9dfbb. */
|
||||
if (offset > bfd_section_size (opd_bfd, opd_sec))
|
||||
if (offset + 7 >= opd_sec->size || offset + 7 < offset)
|
||||
return (bfd_vma) -1;
|
||||
|
||||
val = bfd_get_64 (opd_bfd, contents + offset);
|
||||
|
@ -5996,7 +5996,6 @@ opd_entry_value (asection *opd_sec,
|
|||
|
||||
/* Go find the opd reloc at the sym address. */
|
||||
lo = relocs;
|
||||
BFD_ASSERT (lo != NULL);
|
||||
hi = lo + opd_sec->reloc_count - 1; /* ignore last reloc */
|
||||
val = (bfd_vma) -1;
|
||||
while (lo < hi)
|
||||
|
|
Loading…
Reference in New Issue