asan: buffer overflow in vms-alpha.c
Alan Modra
amodra@gmail.com
Wed Feb 16 11:31:59 GMT 2022
* vms-alpha.c (evax_bfd_print_dst): Sanity check another place
printing strings.
diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c
index c8250e2a673..06fa891ac70 100644
--- a/bfd/vms-alpha.c
+++ b/bfd/vms-alpha.c
@@ -7390,7 +7390,9 @@ evax_bfd_print_dst (struct bfd *abfd, unsigned int dst_size, FILE *file)
fprintf (file, _("standard data: %s\n"),
evax_bfd_get_dsc_name (type));
evax_bfd_print_valspec (buf, len, 4, file);
- fprintf (file, _(" name: %.*s\n"), buf[5], buf + 6);
+ if (len > 6)
+ fprintf (file, _(" name: %.*s\n"),
+ buf[5] > len - 6 ? len - 6 : buf[5], buf + 6);
break;
case DST__K_MODBEG:
{
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list