1
0
forked from aniani/vim

patch 8.2.2371: Vim9: crash when using types in :for with unpack

Problem:    Vim9: crash when using types in :for with unpack.
Solution:   Check for skip_var_list() failing. Pass include_type to
            skip_var_one(). Skip type when compiling. (closes #7694)
This commit is contained in:
Bram Moolenaar
2021-01-17 20:23:38 +01:00
parent 1430ceeb2d
commit 036d07144e
4 changed files with 19 additions and 4 deletions

View File

@@ -6884,6 +6884,8 @@ compile_for(char_u *arg_start, cctx_T *cctx)
int idx;
p = skip_var_list(arg_start, TRUE, &var_count, &semicolon, FALSE);
if (p == NULL)
return NULL;
if (var_count == 0)
var_count = 1;
@@ -7018,6 +7020,8 @@ compile_for(char_u *arg_start, cctx_T *cctx)
generate_STORE(cctx, ISN_STORE, var_lvar->lv_idx, NULL);
}
if (*p == ':')
p = skip_type(skipwhite(p + 1), FALSE);
if (*p == ',' || *p == ';')
++p;
arg = skipwhite(p);