mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-12-19 01:19:41 +08:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user