summaryrefslogtreecommitdiffstats
path: root/generic/tclStringObj.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2016-10-13 16:56:23 (GMT)
committerdgp <dgp@users.sourceforge.net>2016-10-13 16:56:23 (GMT)
commitc98e9eebb58e1b55ba13f8af8714a8a1e580d746 (patch)
treec39ef5c763275e6a9d929d7ab59e5579ca1fdb1b /generic/tclStringObj.c
parent6293f8f90ba51c630d5e941443b9ca582ba23357 (diff)
parent23b011c32d44c8182e0a04316704b590bd2920dd (diff)
downloadtcl-c98e9eebb58e1b55ba13f8af8714a8a1e580d746.zip
tcl-c98e9eebb58e1b55ba13f8af8714a8a1e580d746.tar.gz
tcl-c98e9eebb58e1b55ba13f8af8714a8a1e580d746.tar.bz2
Merge INST_STR_REPLACE fixes and improvements.
Diffstat (limited to 'generic/tclStringObj.c')
-rw-r--r--generic/tclStringObj.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c
index e3cede6..2930fa1 100644
--- a/generic/tclStringObj.c
+++ b/generic/tclStringObj.c
@@ -2948,6 +2948,16 @@ UpdateStringOfString(
{
String *stringPtr = GET_STRING(objPtr);
+ /*
+ * This routine is only called when we need to generate the
+ * string rep objPtr->bytes because it does not exist -- it is NULL.
+ * In that circumstance, any lingering claim about the size of
+ * memory pointed to by that NULL pointer is clearly bogus, and
+ * needs a reset.
+ */
+
+ stringPtr->allocated = 0;
+
if (stringPtr->numChars == 0) {
TclInitStringRep(objPtr, tclEmptyStringRep, 0);
} else {