diff options
author | dgp <dgp@users.sourceforge.net> | 2016-10-13 16:56:23 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2016-10-13 16:56:23 (GMT) |
commit | c98e9eebb58e1b55ba13f8af8714a8a1e580d746 (patch) | |
tree | c39ef5c763275e6a9d929d7ab59e5579ca1fdb1b /generic/tclStringObj.c | |
parent | 6293f8f90ba51c630d5e941443b9ca582ba23357 (diff) | |
parent | 23b011c32d44c8182e0a04316704b590bd2920dd (diff) | |
download | tcl-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.c | 10 |
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 { |