summaryrefslogtreecommitdiffstats
path: root/generic/tclIOUtil.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2012-05-21 16:17:11 (GMT)
committerdgp <dgp@users.sourceforge.net>2012-05-21 16:17:11 (GMT)
commit69a3b8bf74af2d9d9585e3906e92537d58f43919 (patch)
tree666912b90f513715a922d466b249751d4edcf6fa /generic/tclIOUtil.c
parente7e54ea02c546c0b5609becb675b3efc6141dab9 (diff)
downloadtcl-69a3b8bf74af2d9d9585e3906e92537d58f43919.zip
tcl-69a3b8bf74af2d9d9585e3906e92537d58f43919.tar.gz
tcl-69a3b8bf74af2d9d9585e3906e92537d58f43919.tar.bz2
When using Tcl_SetObjLength() calls to grow and shrink the objPtr->bytes buffer,
care must be taken that the value cannot possibly become pure Unicode. Calling Tcl_AppendToObj() has the possibility of making such a conversion. Bug found while valgrinding the trunk.
Diffstat (limited to 'generic/tclIOUtil.c')
-rw-r--r--generic/tclIOUtil.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/generic/tclIOUtil.c b/generic/tclIOUtil.c
index d50f2e3..40f3f76 100644
--- a/generic/tclIOUtil.c
+++ b/generic/tclIOUtil.c
@@ -4977,7 +4977,7 @@ Tcl_FSJoinPath(listObj, elements)
if (length > 0 && ptr[length -1] != '/') {
Tcl_AppendToObj(res, &separator, 1);
- length++;
+ Tcl_GetStringFromObj(res, &length);
}
Tcl_SetObjLength(res, length + (int) strlen(strElt));