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 After this option has been set successfully, Vim will source the files
"spell/LANG.vim" in 'runtimepath'. "LANG" is the value of 'spelllang' "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|. Also see |set-spc-auto|.

View File

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

View File

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