1
0
forked from aniani/vim

patch 8.2.4880: Vim9: misplaced elseif causes invalid memory access

Problem:    Vim9: misplaced elseif causes invalid memory access.
Solution:   Check cs_idx not to be negative.
This commit is contained in:
Bram Moolenaar
2022-05-06 11:27:52 +01:00
parent 3e79427803
commit 434725cc4c
2 changed files with 9 additions and 4 deletions

View File

@@ -1124,10 +1124,13 @@ ex_else(exarg_T *eap)
skip = TRUE;
}
// Variables declared in the previous block can no longer be
// used. Needs to be done before setting "cs_flags".
leave_block(cstack);
enter_block(cstack);
if (cstack->cs_idx >= 0)
{
// Variables declared in the previous block can no longer be
// used. Needs to be done before setting "cs_flags".
leave_block(cstack);
enter_block(cstack);
}
// if skipping or the ":if" was TRUE, reset ACTIVE, otherwise set it
if (skip || cstack->cs_flags[cstack->cs_idx] & CSF_TRUE)

View File

@@ -746,6 +746,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
4880,
/**/
4879,
/**/