diff options
author | dgp <dgp@users.sourceforge.net> | 2016-03-23 10:10:10 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2016-03-23 10:10:10 (GMT) |
commit | 29c77a39fb1932211cd7b1e36a825f03616a9000 (patch) | |
tree | 8527bca68b32daaf631012c4b5676bfa249df986 | |
parent | 5e4bc7c4f34f16705d4b893b157ae9c068db6cec (diff) | |
download | tcl-29c77a39fb1932211cd7b1e36a825f03616a9000.zip tcl-29c77a39fb1932211cd7b1e36a825f03616a9000.tar.gz tcl-29c77a39fb1932211cd7b1e36a825f03616a9000.tar.bz2 |
Release memory after truncation.
-rw-r--r-- | generic/tclObj.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/generic/tclObj.c b/generic/tclObj.c index 4f7194b..72c2340 100644 --- a/generic/tclObj.c +++ b/generic/tclObj.c @@ -1769,6 +1769,11 @@ Tcl_InitStringRep( } } else { /* objPtr->bytes != NULL bytes == NULL - Truncate */ + assert(numBytes <= objPtr->length); + if (objPtr->length > numBytes) { + objPtr->bytes = (char *)ckrealloc(objPtr->bytes, + (unsigned)(numBytes+1)); + } objPtr->length = numBytes; } |