Attachment "1671087.patch" to
ticket [1671087fff]
added by
dgp
2007-03-01 01:06:10.
Index: generic/tclExecute.c
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclExecute.c,v
retrieving revision 1.259
diff -u -r1.259 tclExecute.c
--- generic/tclExecute.c 20 Feb 2007 23:24:03 -0000 1.259
+++ generic/tclExecute.c 28 Feb 2007 18:04:45 -0000
@@ -5305,8 +5305,8 @@
numVars = varListPtr->numVars;
listVarPtr = &(compiledLocals[listTmpIndex]);
- listPtr = listVarPtr->value.objPtr;
- Tcl_ListObjGetElements(interp, listPtr, &listLen, &elements);
+ listPtr = TclListObjCopy(NULL, listVarPtr->value.objPtr);
+ Tcl_ListObjGetElements(NULL, listPtr, &listLen, &elements);
valIndex = (iterNum * numVars);
for (j = 0; j < numVars; j++) {
@@ -5343,11 +5343,13 @@
TRACE_WITH_OBJ(("%u => ERROR init. index temp %d: ",
opnd, varIndex), Tcl_GetObjResult(interp));
result = TCL_ERROR;
+ Tcl_DecrRefCount(listPtr);
goto checkForCatch;
}
}
valIndex++;
}
+ Tcl_DecrRefCount(listPtr);
listTmpIndex++;
}
}