Fix a division by zero error when processing secondary relocs in a fuzzed input file.

PR 26521
	* elf.c (_bfd_elf_write_secondary_reloc_section): Check for
	secondary reloc sections with a zero sh_entsize field.
This commit is contained in:
Nick Clifton 2020-09-03 16:11:43 +01:00
parent 8f5c6526eb
commit ac267c754c
2 changed files with 17 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2020-09-03 Nick Clifton <nickc@redhat.com>
PR 26521
* elf.c (_bfd_elf_write_secondary_reloc_section): Check for
secondary reloc sections with a zero sh_entsize field.
2020-09-03 Nelson Chu <nelson.chu@sifive.com>
* elfnn-riscv.c (riscv_i_or_e_p): Minor cleanup for warnings/errors.

View file

@ -12847,6 +12847,17 @@ _bfd_elf_write_secondary_reloc_section (bfd *abfd, asection *sec)
continue;
}
if (hdr->sh_entsize == 0)
{
_bfd_error_handler
/* xgettext:c-format */
(_("%pB(%pA): error: secondary reloc section has zero sized entries"),
abfd, relsec);
bfd_set_error (bfd_error_bad_value);
result = FALSE;
continue;
}
reloc_count = hdr->sh_size / hdr->sh_entsize;
if (reloc_count <= 0)
{