buffer overflow in print_symname

* ecoff.c (_bfd_ecoff_slurp_symbolic_info): Zero terminate
	string sections.
This commit is contained in:
Alan Modra
2023-04-19 21:53:18 +09:30
parent 3cae258044
commit 685b44ee81
+6
View File
@@ -599,6 +599,12 @@ _bfd_ecoff_slurp_symbolic_info (bfd *abfd,
FIX (cbExtOffset, iextMax, external_ext, void *);
#undef FIX
/* Ensure string sections are zero terminated. */
if (debug->ss)
debug->ss[internal_symhdr->issMax - 1] = 0;
if (debug->ssext)
debug->ssext[internal_symhdr->issExtMax - 1] = 0;
/* I don't want to always swap all the data, because it will just
waste time and most programs will never look at it. The only
time the linker needs most of the debugging information swapped