mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 9.0.0224: Using NULL pointer when skipping compiled code
Problem: Using NULL pointer when skipping compiled code. Solution: Check for skipping.
This commit is contained in:
@@ -1165,11 +1165,14 @@ generate_loadvar(
|
||||
generate_LOADV(cctx, name + 2);
|
||||
break;
|
||||
case dest_local:
|
||||
if (lvar->lv_from_outer > 0)
|
||||
generate_LOADOUTER(cctx, lvar->lv_idx, lvar->lv_from_outer,
|
||||
if (cctx->ctx_skip != SKIP_YES)
|
||||
{
|
||||
if (lvar->lv_from_outer > 0)
|
||||
generate_LOADOUTER(cctx, lvar->lv_idx, lvar->lv_from_outer,
|
||||
type);
|
||||
else
|
||||
generate_LOAD(cctx, ISN_LOAD, lvar->lv_idx, NULL, type);
|
||||
else
|
||||
generate_LOAD(cctx, ISN_LOAD, lvar->lv_idx, NULL, type);
|
||||
}
|
||||
break;
|
||||
case dest_expr:
|
||||
// list or dict value should already be on the stack.
|
||||
@@ -1952,6 +1955,9 @@ compile_assign_unlet(
|
||||
}
|
||||
}
|
||||
|
||||
if (cctx->ctx_skip == SKIP_YES)
|
||||
return OK;
|
||||
|
||||
// Load the dict or list. On the stack we then have:
|
||||
// - value (for assignment, not for :unlet)
|
||||
// - index
|
||||
|
Reference in New Issue
Block a user