From aea955a2dfe37f7f7c82f36ff0cf018695bc2b70 Mon Sep 17 00:00:00 2001 From: Scott Snyder Date: Sun, 8 Feb 1998 15:46:23 -0700 Subject: [PATCH] * method.c (make_thunk): Avoid name buffer overflow. From-SVN: r17784 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/method.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index eac96d2..6446d6a 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 30ddf52..e489348 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 -- 2.7.4