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.
This commit is contained in:
Nick Clifton 2021-03-16 12:44:50 +00:00
parent 7807d76a1c
commit 012d442686
4 changed files with 14 additions and 3 deletions

View File

@ -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.

View File

@ -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;

View File

@ -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.

View File

@ -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