mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.2.0537: Vim9: no check for sandbox when setting v:var
Problem: Vim9: no check for sandbox when setting v:var. Solution: Check for sandbox.
This commit is contained in:
parent
5da356e073
commit
cab2767874
@ -1978,6 +1978,17 @@ set_vim_var_tv(int idx, typval_T *tv)
|
|||||||
clear_tv(tv);
|
clear_tv(tv);
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
// VV_RO is also checked when compiling, but let's check here as well.
|
||||||
|
if (vimvars[idx].vv_flags & VV_RO)
|
||||||
|
{
|
||||||
|
semsg(_(e_readonlyvar), vimvars[idx].vv_name);
|
||||||
|
return FAIL;
|
||||||
|
}
|
||||||
|
if (sandbox && (vimvars[idx].vv_flags & VV_RO_SBX))
|
||||||
|
{
|
||||||
|
semsg(_(e_readonlysbx), vimvars[idx].vv_name);
|
||||||
|
return FAIL;
|
||||||
|
}
|
||||||
clear_tv(&vimvars[idx].vv_di.di_tv);
|
clear_tv(&vimvars[idx].vv_di.di_tv);
|
||||||
vimvars[idx].vv_di.di_tv = *tv;
|
vimvars[idx].vv_di.di_tv = *tv;
|
||||||
return OK;
|
return OK;
|
||||||
|
@ -170,6 +170,11 @@ def Test_assignment_default()
|
|||||||
assert_equal(5678, nr)
|
assert_equal(5678, nr)
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
|
def Mess(): string
|
||||||
|
v:foldstart = 123
|
||||||
|
return 'xxx'
|
||||||
|
enddef
|
||||||
|
|
||||||
func Test_assignment_failure()
|
func Test_assignment_failure()
|
||||||
call CheckDefFailure(['let var=234'], 'E1004:')
|
call CheckDefFailure(['let var=234'], 'E1004:')
|
||||||
call CheckDefFailure(['let var =234'], 'E1004:')
|
call CheckDefFailure(['let var =234'], 'E1004:')
|
||||||
@ -207,6 +212,9 @@ func Test_assignment_failure()
|
|||||||
|
|
||||||
call CheckDefFailure(['let var: dict <number>'], 'E1068:')
|
call CheckDefFailure(['let var: dict <number>'], 'E1068:')
|
||||||
call CheckDefFailure(['let var: dict<number'], 'E1009:')
|
call CheckDefFailure(['let var: dict<number'], 'E1009:')
|
||||||
|
|
||||||
|
call assert_fails('s/^/\=Mess()/n', 'E794:')
|
||||||
|
call CheckDefFailure(['let var: dict<number'], 'E1009:')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func Test_wrong_type()
|
func Test_wrong_type()
|
||||||
|
@ -738,6 +738,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
537,
|
||||||
/**/
|
/**/
|
||||||
536,
|
536,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user