From e034b2cc9d2125f80dabb698271a346cbcff8d76 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Tue, 5 Aug 2014 16:17:15 +0100 Subject: [PATCH] MIPS: Fix a .pdr section linker buffer overrun * elfxx-mips.c (_bfd_mips_elf_discard_info): Set section's rawsize if changing size. --- bfd/ChangeLog | 5 +++++ bfd/elfxx-mips.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6085db8..679edd4 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2014-08-05 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_discard_info): Set section's + rawsize if changing size. + 2014-08-05 Alan Modra PR ld/17226 diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index a72ccc3..ee0204d 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -12380,6 +12380,8 @@ _bfd_mips_elf_discard_info (bfd *abfd, struct elf_reloc_cookie *cookie, if (skip != 0) { mips_elf_section_data (o)->u.tdata = tdata; + if (o->rawsize == 0) + o->rawsize = o->size; o->size -= skip * PDR_SIZE; ret = TRUE; } -- 2.7.4