This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Commit: Fix buffer overflows in ld


Hi Guys,

  I am applying the patch below to fix two buffer overflows in the
  linker when it is printing fixed strings.  The buffer used was big
  enough for the English text, but when translated, the string could end
  up being longer than the buffer.  The solution was simple - since the
  strings are static, no buffer is needed.

Cheers
  Nick

ld/ChangeLog
2017-01-31  Nick Clifton  <nickc@redhat.com>

	* ldmain.c (add_archive_element): Eliminate string buffer.
	* ldlang.c (lang_print_asneeded): Likewise.

diff --git a/ld/ldlang.c b/ld/ldlang.c
index dafc348..1396c5b 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -2035,14 +2035,11 @@ static void
 lang_print_asneeded (void)
 {
   struct asneeded_minfo *m;
-  char buf[100];
 
   if (asneeded_list_head == NULL)
     return;
 
-  sprintf (buf, _("\nAs-needed library included "
-		  "to satisfy reference by file (symbol)\n\n"));
-  minfo ("%s", buf);
+  minfo (_("\nAs-needed library included to satisfy reference by file (symbol)\n\n"));
 
   for (m = asneeded_list_head; m != NULL; m = m->next)
     {
diff --git a/ld/ldmain.c b/ld/ldmain.c
index 1e48b1a..e049de3 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -871,11 +871,7 @@ add_archive_element (struct bfd_link_info *info,
 
       if (!header_printed)
 	{
-	  char buf[100];
-
-	  sprintf (buf, _("Archive member included "
-			  "to satisfy reference by file (symbol)\n\n"));
-	  minfo ("%s", buf);
+	  minfo (_("Archive member included to satisfy reference by file (symbol)\n\n"));
 	  header_printed = TRUE;
 	}
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]