diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2008-08-17 14:12:31 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2008-08-17 14:12:31 (GMT) |
commit | d602e66103d1f659836379fa3669ad97e3d2f310 (patch) | |
tree | aea585ac64e29663faac8bc607d5b2a1bf36bb44 /generic/tclUtil.c | |
parent | c830752ac8861db9a7f418c259b8d07025282a9b (diff) | |
download | tcl-d602e66103d1f659836379fa3669ad97e3d2f310.zip tcl-d602e66103d1f659836379fa3669ad97e3d2f310.tar.gz tcl-d602e66103d1f659836379fa3669ad97e3d2f310.tar.bz2 |
* generic/tclTest.c (TestconcatobjCmd):
* generic/tclUtil.c (Tcl_ConcatObj):
* tests/util.test (util-4.7):
fix [Bug 1447328]; the original "fix" turned Tcl_ConcatObj() into
a hairy monster. This was exposed by [Bug 2055782]. Additionally,
Tcl_ConcatObj could corrupt its input under certain conditions!
*** NASTY BUG FIXED ***
Diffstat (limited to 'generic/tclUtil.c')
-rw-r--r-- | generic/tclUtil.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/generic/tclUtil.c b/generic/tclUtil.c index 07fbc87..e2f01a4 100644 --- a/generic/tclUtil.c +++ b/generic/tclUtil.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclUtil.c,v 1.97 2008/02/26 20:18:14 hobbs Exp $ + * RCS: @(#) $Id: tclUtil.c,v 1.97.2.1 2008/08/17 14:12:35 msofer Exp $ */ #include "tclInt.h" @@ -1197,11 +1197,7 @@ Tcl_ConcatObj( if (resPtr) { Tcl_ListObjReplace(NULL, resPtr, INT_MAX, 0, listc, listv); } else { - if (Tcl_IsShared(objPtr)) { - resPtr = TclListObjCopy(NULL, objPtr); - } else { - resPtr = objPtr; - } + resPtr = TclListObjCopy(NULL, objPtr); } } } |