From: Kaveh R. Ghazi Date: Sat, 3 May 2003 00:25:59 +0000 (+0000) Subject: builtins.c (expand_builtin_stpcpy): Copy `arglist' before modifying it. X-Git-Tag: releases/gcc-3.4.0~6855 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=685828f786a76adff3feaf297cefed0afb4ec61f;p=thirdparty%2Fgcc.git builtins.c (expand_builtin_stpcpy): Copy `arglist' before modifying it. * builtins.c (expand_builtin_stpcpy): Copy `arglist' before modifying it. From-SVN: r66409 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6921898361c6..b1a193a2563b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-05-02 Kaveh R. Ghazi + + * builtins.c (expand_builtin_stpcpy): Copy `arglist' before + modifying it. + 2003-05-03 Falk Hueffner Gerald Pfeifer diff --git a/gcc/builtins.c b/gcc/builtins.c index 94db6a3ba3f4..46b14bcee1d9 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -2491,13 +2491,15 @@ expand_builtin_stpcpy (arglist, target, mode) return 0; else { + tree newarglist; tree len = c_strlen (TREE_VALUE (TREE_CHAIN (arglist))); if (len == 0) return 0; len = fold (size_binop (PLUS_EXPR, len, ssize_int (1))); - chainon (arglist, build_tree_list (NULL_TREE, len)); - return expand_builtin_memcpy (arglist, target, mode, /*endp=*/2); + newarglist = copy_list (arglist); + chainon (newarglist, build_tree_list (NULL_TREE, len)); + return expand_builtin_memcpy (newarglist, target, mode, /*endp=*/2); } }