patch 8.2.0642: Vim9: using invalid index
Problem: Vim9: using invalid index.
Solution: Check index for being valid. Fix memory leak.
diff --git a/src/clientserver.c b/src/clientserver.c
index 5245425..cf35c81 100644
--- a/src/clientserver.c
+++ b/src/clientserver.c
@@ -473,6 +473,7 @@
# ifdef FEAT_GUI_MSWIN
Shell_NotifyIcon(NIM_DELETE, &ni);
# endif
+ vim_free(done);
}
}
else if (STRICMP(argv[i], "--remote-expr") == 0)
diff --git a/src/version.c b/src/version.c
index 3829af5..590c392 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 642,
+/**/
641,
/**/
640,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index ccd73f7..0e9abac 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -5822,12 +5822,13 @@
compile_exec(char_u *line, exarg_T *eap, cctx_T *cctx)
{
char_u *p;
- int has_expr;
+ int has_expr = FALSE;
if (cctx->ctx_skip == TRUE)
goto theend;
- has_expr = (excmd_get_argt(eap->cmdidx) & (EX_XFILE | EX_EXPAND));
+ if (eap->cmdidx >= 0 && eap->cmdidx < CMD_SIZE)
+ has_expr = (excmd_get_argt(eap->cmdidx) & (EX_XFILE | EX_EXPAND));
if (eap->cmdidx == CMD_syntax && STRNCMP(eap->arg, "include ", 8) == 0)
{
// expand filename in "syntax include [@group] filename"