From: Scott Snyder Date: Sun, 8 Feb 1998 22:46:23 +0000 (-0700) Subject: * method.c (make_thunk): Avoid name buffer overflow. X-Git-Tag: prereleases/egcs-1.1-prerelease~2466 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=aea955a2dfe37f7f7c82f36ff0cf018695bc2b70;p=thirdparty%2Fgcc.git * method.c (make_thunk): Avoid name buffer overflow. From-SVN: r17784 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index eac96d2fafb8..6446d6ab94c3 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +Sun Feb 8 23:47:38 1998 scott snyder + + * method.c (make_thunk): Avoid name buffer overflow. + Sat Feb 7 16:48:54 1998 Jason Merrill * pt.c (instantiate_decl): Call cp_finish_decl for vars even if we diff --git a/gcc/cp/method.c b/gcc/cp/method.c index 30ddf5227e7e..e489348d9d38 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -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