Tcl Source Code

Check-in [61e0390b0a]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:[a84a720966] Protect against double free in TclOO classChainCache teardown.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 61e0390b0a1a519d08ab0bf0de846a3018cff2f3
User & Date: dgp 2014-07-31 19:58:53
Context
2014-07-31
21:23
Fix part of [d19aef1487] (broken --disable-load on MacOSX), broken by [4d417791c9] check-in: a41a431706 user: jan.nijtmans tags: trunk
20:00
merge trunk check-in: c9835f5515 user: dgp tags: core-8-6-2-rc
19:58
[a84a720966] Protect against double free in TclOO classChainCache teardown. check-in: 61e0390b0a user: dgp tags: trunk
2014-07-30
16:41
[3757cdf808] More clock refactoring with spooky impact on [string match] performance. check-in: db3153c306 user: dgp tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/tclOOCall.c.

146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
 * ----------------------------------------------------------------------
 */

void
TclOODeleteChain(
    CallChain *callPtr)
{
    if (--callPtr->refCount >= 1) {
	return;
    }
    if (callPtr->chain != callPtr->staticChain) {
	ckfree(callPtr->chain);
    }
    ckfree(callPtr);
}







|







146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
 * ----------------------------------------------------------------------
 */

void
TclOODeleteChain(
    CallChain *callPtr)
{
    if (callPtr == NULL || --callPtr->refCount >= 1) {
	return;
    }
    if (callPtr->chain != callPtr->staticChain) {
	ckfree(callPtr->chain);
    }
    ckfree(callPtr);
}