diff options
author | Steve Bennett <steveb@workware.net.au> | 2023-02-25 12:09:51 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2023-02-25 12:09:51 +1000 |
commit | 1933e5457b9512d39ebbe11ed32578aada149f49 (patch) | |
tree | df742285877d74df58c21236fcb5aebffe704240 | |
parent | f1edcd2f995870b89d7742b829d39e36d43b177d (diff) | |
download | jimtcl-1933e5457b9512d39ebbe11ed32578aada149f49.zip jimtcl-1933e5457b9512d39ebbe11ed32578aada149f49.tar.gz jimtcl-1933e5457b9512d39ebbe11ed32578aada149f49.tar.bz2 |
jim: fix crash on infinite eval recursion0.82
When this condition was caught, eval frame was incorrectly
popped even though it was never pushed.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
-rw-r--r-- | jim.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -10830,11 +10830,11 @@ tailcall: interp->argc = prev_argc; interp->argv = prev_argv; + JimPopEvalFrame(interp); + out: JimDecrCmdRefCount(interp, cmdPtr); - JimPopEvalFrame(interp); - if (interp->framePtr->tailcallObj) { /* We might have skipped invoking a tailcall, perhaps because of an error * in defer handling so cleanup now |