Tcl Source Code

Check-in [113b75cd58]
Login

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

Overview
Comment:Fix memory leak in [format] compiler.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 113b75cd5843a22a56756742849b3d664f971b46
User & Date: dkf 2013-01-04 15:01:57
Context
2013-01-05
00:15
Add an assertion that checks the stack depth under TCL_COMPILE_DEBUG *before* stack cleanup. It curr... check-in: cc975c8c54 user: mig tags: trunk
2013-01-04
15:44
merge check-in: 7daaf951c4 user: mig tags: mig-strip-brutal
15:09
merge trunk check-in: 7fae92b2e1 user: mig tags: mig-alloc-reform
15:01
Fix memory leak in [format] compiler. check-in: 113b75cd58 user: dkf tags: trunk
14:38
Fix bad memory access problems found by Miguel Sofer when valgrinding. check-in: 963a7f31e2 user: dkf tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/tclCompCmds.c.

3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
     * requires that all the % sequences be %s or %%, as everything else is
     * sufficiently complex that we don't bother.
     *
     * First, get the state of the system relatively sensible (cleaning up
     * after our attempt to spot a literal).
     */

    for (; --i>=0 ;) {
	Tcl_DecrRefCount(objv[i]);
    }
    ckfree(objv);
    tokenPtr = TokenAfter(parsePtr->tokenPtr);
    tokenPtr = TokenAfter(tokenPtr);
    i = 0;








|







3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
     * requires that all the % sequences be %s or %%, as everything else is
     * sufficiently complex that we don't bother.
     *
     * First, get the state of the system relatively sensible (cleaning up
     * after our attempt to spot a literal).
     */

    for (; i>=0 ; i--) {
	Tcl_DecrRefCount(objv[i]);
    }
    ckfree(objv);
    tokenPtr = TokenAfter(parsePtr->tokenPtr);
    tokenPtr = TokenAfter(tokenPtr);
    i = 0;