0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.2.4309: Vim9: crash when using a partial in the wrong context

Problem:    Vim9: crash when using a partial in the wrong context.
Solution:   Don't use an NULL outer pointer. (closes #9706)
This commit is contained in:
Bram Moolenaar
2022-02-06 13:55:03 +00:00
parent 8164f6ea3c
commit fe1bfc9b26
3 changed files with 40 additions and 5 deletions

View File

@@ -1694,7 +1694,7 @@ handle_debug(isn_T *iptr, ectx_T *ectx)
}
/*
* Store a value in a list or dict variable.
* Store a value in a list, dict or blob variable.
* Returns OK, FAIL or NOTDONE (uncatchable error).
*/
static int
@@ -5081,12 +5081,16 @@ call_def_function(
goto failed_early;
if (partial != NULL)
{
if (partial->pt_outer.out_stack == NULL && current_ectx != NULL)
if (partial->pt_outer.out_stack == NULL)
{
if (current_ectx->ec_outer_ref != NULL
&& current_ectx->ec_outer_ref->or_outer != NULL)
ectx.ec_outer_ref->or_outer =
if (current_ectx != NULL)
{
if (current_ectx->ec_outer_ref != NULL
&& current_ectx->ec_outer_ref->or_outer != NULL)
ectx.ec_outer_ref->or_outer =
current_ectx->ec_outer_ref->or_outer;
}
// Should there be an error here?
}
else
{