ld: don't chance overrunning PE .reloc section content
The allocation of reloc_d doesn't take reloc_s->size into account. There is already padding being emitted up to the allocated size. While reloc_s->size ought to still be zero at this point anyway (and hence the code being deleted would have been just dead), don't risk writing past the actual allocation.
This commit is contained in:
parent
ba6a0ef349
commit
c68b1842bd
@ -1,3 +1,7 @@
|
||||
2021-03-15 Jan Beulich <jbeulich@suse.com>
|
||||
|
||||
* pe-dll.c (generate_reloc): Drop padding to reloc_s->size.
|
||||
|
||||
2021-03-12 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* Makefile.am (ALL_EMULATION_SOURCES): Move riscv files to..
|
||||
|
@ -1752,9 +1752,6 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info)
|
||||
|
||||
if (page_ptr != (bfd_vma) -1)
|
||||
bfd_put_32 (abfd, reloc_sz - page_ptr, reloc_d + page_ptr + 4);
|
||||
|
||||
while (reloc_sz < reloc_s->size)
|
||||
reloc_d[reloc_sz++] = 0;
|
||||
}
|
||||
|
||||
/* Given the exiting def_file structure, print out a .DEF file that
|
||||
|
Loading…
Reference in New Issue
Block a user