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.
diff --git a/src/evalvars.c b/src/evalvars.c
index 8af80ec..d32b76a 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -1978,6 +1978,17 @@
clear_tv(tv);
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);
vimvars[idx].vv_di.di_tv = *tv;
return OK;