diff options
author | stanton <stanton> | 1999-02-02 22:26:11 (GMT) |
---|---|---|
committer | stanton <stanton> | 1999-02-02 22:26:11 (GMT) |
commit | d2bb30303b2483fa2044fe6afe1788289583948a (patch) | |
tree | 6eb4be735b4510c2786fd768076199cfa3aff99b /generic/tclCompile.c | |
parent | f4df4aba71f814b2ea589e0ce4a6dddd20221417 (diff) | |
download | tcl-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/tclCompile.c')
-rw-r--r-- | generic/tclCompile.c | 6 |
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 */ } } |