From 99d73a5bdbe704b8634f0eba73114da5ae77314b Mon Sep 17 00:00:00 2001 From: Scott Snyder Date: Sun, 8 Feb 1998 15:57:54 -0700 Subject: [PATCH] * method.c (make_thunk): Avoid name buffer overflow. From-SVN: r17785 --- 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 d864a63b3148..87e72a1401e8 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +Sun Feb 8 23:59:04 1998 scott snyder + + * method.c (make_thunk): Avoid name buffer overflow. + Sun Jan 25 13:20:00 1998 Jason Merrill * decl.c (cp_finish_decl): When bailing on a comdat variable, also diff --git a/gcc/cp/method.c b/gcc/cp/method.c index c16f6eaf02f6..c146069964c8 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -1803,7 +1803,7 @@ make_thunk (function, delta) tree function; int delta; { - char buffer[250]; + char *buffer; tree thunk_id; tree thunk; char *func_name; @@ -1814,6 +1814,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.47.2