* method.c (make_thunk): Avoid name buffer overflow.
authorScott Snyder <snyder@fnal.gov>
Sun, 8 Feb 1998 22:46:23 +0000 (15:46 -0700)
committerJeff Law <law@gcc.gnu.org>
Sun, 8 Feb 1998 22:46:23 +0000 (15:46 -0700)
From-SVN: r17784

gcc/cp/ChangeLog
gcc/cp/method.c

index eac96d2..6446d6a 100644 (file)
@@ -1,3 +1,7 @@
+Sun Feb  8 23:47:38 1998  scott snyder  <sss@d0linux01.fnal.gov>
+
+       * method.c (make_thunk): Avoid name buffer overflow.
+
 Sat Feb  7 16:48:54 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
        * pt.c (instantiate_decl): Call cp_finish_decl for vars even if we
index 30ddf52..e489348 100644 (file)
@@ -1905,7 +1905,7 @@ make_thunk (function, delta)
      tree function;
      int delta;
 {
-  char buffer[250];
+  char *buffer;
   tree thunk_id;
   tree thunk;
   char *func_name;
@@ -1916,6 +1916,7 @@ make_thunk (function, delta)
   if (TREE_CODE (func_decl) != FUNCTION_DECL)
     abort ();
   func_name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (func_decl));
+  buffer = (char *)alloca (strlen (func_name) + 32);
   if (delta<=0)
     sprintf (buffer, "__thunk_%d_%s", -delta, func_name);
   else