mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 8.2.0098: exe stack length can be wrong without being detected
Problem: Exe stack length can be wrong without being detected. Solution: Add a check when ABORT_ON_INTERNAL_ERROR is defined.
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user