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