diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-01-07 20:59:34 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-01-07 20:59:34 +0100 |
commit | e31ee86859528a7ffe00405645547d494e522fa8 (patch) | |
tree | 741c24aea3fae5efb613d64314a6721d6cad85c5 /src/ex_docmd.c | |
parent | ce6db0273f2c4359f48d75103a42991aa481f14e (diff) |
patch 8.2.0098: exe stack length can be wrong without being detectedv8.2.0098
Problem: Exe stack length can be wrong without being detected.
Solution: Add a check when ABORT_ON_INTERNAL_ERROR is defined.
Diffstat (limited to 'src/ex_docmd.c')
-rw-r--r-- | src/ex_docmd.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c index de8fb49617..e11ad08d43 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -645,6 +645,7 @@ do_cmdline( # define cmd_cookie cookie #endif static int call_depth = 0; // recursiveness + ESTACK_CHECK_DECLARATION #ifdef FEAT_EVAL // For every pair of do_cmdline()/do_one_cmd() calls, use an extra memory @@ -1260,6 +1261,7 @@ do_cmdline( estack_push(ETYPE_EXCEPT, current_exception->throw_name, current_exception->throw_lnum); + ESTACK_CHECK_SETUP current_exception->throw_name = NULL; discard_current_exception(); // uses IObuff if 'verbose' @@ -1284,6 +1286,7 @@ do_cmdline( vim_free(p); } vim_free(SOURCING_NAME); + ESTACK_CHECK_NOW estack_pop(); } |