summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorstanton <stanton>1999-02-02 22:26:11 (GMT)
committerstanton <stanton>1999-02-02 22:26:11 (GMT)
commitd2bb30303b2483fa2044fe6afe1788289583948a (patch)
tree6eb4be735b4510c2786fd768076199cfa3aff99b /generic
parentf4df4aba71f814b2ea589e0ce4a6dddd20221417 (diff)
downloadtcl-d2bb30303b2483fa2044fe6afe1788289583948a.zip
tcl-d2bb30303b2483fa2044fe6afe1788289583948a.tar.gz
tcl-d2bb30303b2483fa2044fe6afe1788289583948a.tar.bz2
* generic/tclCompile.c (CompileExprWord): Fixed exception stack
overflow bug caused by missing statement. [Bug: 928]
Diffstat (limited to 'generic')
-rw-r--r--generic/tclCompile.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/generic/tclCompile.c b/generic/tclCompile.c
index 408ec89..3c67280 100644
--- a/generic/tclCompile.c
+++ b/generic/tclCompile.c
@@ -6,11 +6,12 @@
* sequence of instructions ("bytecodes").
*
* Copyright (c) 1996-1997 Sun Microsystems, Inc.
+ * Copyright (c) 1998-1999 by Scriptics Corporation.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclCompile.c,v 1.11 1998/09/14 18:39:58 stanton Exp $
+ * RCS: @(#) $Id: tclCompile.c,v 1.12 1999/02/02 22:26:11 stanton Exp $
*/
#include "tclInt.h"
@@ -6321,9 +6322,10 @@ CompileExprWord(interp, string, lastChar, flags, envPtr)
envPtr->excRangeArrayNext = startRangeNext;
inlineCode = 0;
} else {
- TclEmitOpcode(INST_END_CATCH, envPtr);
+ TclEmitOpcode(INST_END_CATCH, envPtr); /* for ok case */
TclEmitForwardJump(envPtr, TCL_UNCONDITIONAL_JUMP, &jumpFixup);
envPtr->excRangeArrayPtr[range].catchOffset = TclCurrCodeOffset();
+ TclEmitOpcode(INST_END_CATCH, envPtr); /* for error case */
}
}