Attachment "tclExecute.c.patch2" to
ticket [406709ffff]
added by
dgp
2001-03-31 03:43:33.
Index: generic/tclExecute.c
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclExecute.c,v
retrieving revision 1.19
diff -u -r1.19 tclExecute.c
--- generic/tclExecute.c 2001/03/02 15:31:15 1.19
+++ generic/tclExecute.c 2001/03/09 14:37:16
@@ -634,7 +634,7 @@
valuePtr = POP_OBJECT();
Tcl_SetObjResult(interp, valuePtr);
TclDecrRefCount(valuePtr);
- if (stackTop != initStackTop) {
+ if (stackTop < initStackTop) {
fprintf(stderr, "\nTclExecuteByteCode: done instruction at pc %u: stack top %d != entry stack top %d\n",
(unsigned int)(pc - codePtr->codeStart),
(unsigned int) stackTop,
@@ -3131,6 +3131,7 @@
*/
abnormalReturn:
+ done:
while (stackTop > initStackTop) {
valuePtr = POP_OBJECT();
Tcl_DecrRefCount(valuePtr);
@@ -3140,7 +3141,6 @@
* Free the catch stack array if malloc'ed storage was used.
*/
- done:
if (catchStackPtr != catchStackStorage) {
ckfree((char *) catchStackPtr);
}