mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 20:28:28 +08:00
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:
@ -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>
|
2020-09-03 Nelson Chu <nelson.chu@sifive.com>
|
||||||
|
|
||||||
* elfnn-riscv.c (riscv_i_or_e_p): Minor cleanup for warnings/errors.
|
* elfnn-riscv.c (riscv_i_or_e_p): Minor cleanup for warnings/errors.
|
||||||
|
11
bfd/elf.c
11
bfd/elf.c
@ -12847,6 +12847,17 @@ _bfd_elf_write_secondary_reloc_section (bfd *abfd, asection *sec)
|
|||||||
continue;
|
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;
|
reloc_count = hdr->sh_size / hdr->sh_entsize;
|
||||||
if (reloc_count <= 0)
|
if (reloc_count <= 0)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user