Browse Source

Fix a potential buffer overrun qwhen writing out PE aux entries.

* peXXigen.c (_bfd_XXi_swap_aux_out): Avoid potential buffer
	overrun by using sizeof of the destination x_fname field as the
	limit for a memcpy.

	* coff/internal.h (struct internal_auxent): Fix a couple of typos
	in comment describing the x_fname field.
binutils-2_37-branch
Nick Clifton 5 years ago
parent
commit
012d442686
  1. 6
      bfd/ChangeLog
  2. 2
      bfd/peXXigen.c
  3. 5
      include/ChangeLog
  4. 4
      include/coff/internal.h

6
bfd/ChangeLog

@ -1,3 +1,9 @@
2021-03-16 Nick Clifton <nickc@redhat.com>
* peXXigen.c (_bfd_XXi_swap_aux_out): Avoid potential buffer
overrun by using sizeof of the destination x_fname field as the
limit for a memcpy.
2021-03-16 Kuan-Lin Chen <kuanlinchentw@gmail.com>
* elfxx-riscv.c (riscv_std_z_ext_strtab): Add zba, zbb and zbc.

2
bfd/peXXigen.c

@ -380,7 +380,7 @@ _bfd_XXi_swap_aux_out (bfd * abfd,
H_PUT_32 (abfd, in->x_file.x_n.x_offset, ext->x_file.x_n.x_offset);
}
else
memcpy (ext->x_file.x_fname, in->x_file.x_fname, FILNMLEN);
memcpy (ext->x_file.x_fname, in->x_file.x_fname, sizeof (ext->x_file.x_fname));
return AUXESZ;

5
include/ChangeLog

@ -1,3 +1,8 @@
2021-03-16 Nick Clifton <nickc@redhat.com>
* coff/internal.h (struct internal_auxent): Fix a couple of typos
in comment describing the x_fname field.
2021-03-16 Kuan-Lin Chen <kuanlinchentw@gmail.com>
* opcode/riscv-opc.h: Support zba, zbb and zbc extensions.

4
include/coff/internal.h

@ -580,8 +580,8 @@ union internal_auxent
union
{
/* PR 17754: We use to FILNMLEN for the size of the x_fname
array, but that cause problems as PE targets use a larger
value. We cannot use their definition of EFILNMLEN as this
array, but that causes problems as PE targets use a larger
value. We cannot use their definition of E_FILNMLEN as this
header can be used without including any PE headers. */
char x_fname[20];
struct

Loading…
Cancel
Save