vim-patch:8.1.0539: cannot build without the sandbox

Problem:    Cannot build without the sandbox.
Solution:   Set the secure option instead of using the sandbox.  Also restrict
            the characters from 'spelllang' that are used for LANG.vim.
            (suggested by Yasuhiro Matsumoto)
82e8c92ebe
This commit is contained in:
Abdelhakeem 2019-03-26 18:17:19 +02:00
parent 76204da1f8
commit 5eaa455479
3 changed files with 9 additions and 7 deletions

View File

@ -5561,7 +5561,7 @@ A jump table for the options with a short description can be found at |Q_op|.
After this option has been set successfully, Vim will source the files
"spell/LANG.vim" in 'runtimepath'. "LANG" is the value of 'spelllang'
up to the first comma, dot or underscore.
up to the first character that is not an ASCII letter and not a dash.
Also see |set-spc-auto|.

View File

@ -4945,11 +4945,11 @@ chk_modeline (
save_SID = current_SID;
current_SID = SID_MODELINE;
// Make sure no risky things are executed as a side effect.
sandbox++;
++secure;
retval = do_set(s, OPT_MODELINE | OPT_LOCAL | flags);
sandbox--;
--secure;
current_SID = save_SID;
if (retval == FAIL) /* stop if error found */
break;

View File

@ -3296,11 +3296,13 @@ ambw_end:
* '.encoding'.
*/
for (p = q; *p != NUL; ++p)
if (vim_strchr((char_u *)"_.,", *p) != NULL)
if (!ASCII_ISALPHA(*p) && *p != '-')
break;
vim_snprintf((char *)fname, sizeof(fname), "spell/%.*s.vim",
(int)(p - q), q);
source_runtime(fname, DIP_ALL);
if (p > q) {
vim_snprintf((char *)fname, sizeof(fname), "spell/%.*s.vim",
(int)(p - q), q);
source_runtime(fname, DIP_ALL);
}
}
}