vim-patch:8.0.1225: no check for spell region being zero

Problem:    No check for spell region being zero. (geeknik)
Solution:   Check for zero. (closes vim/vim#2252)

ee03b94124
This commit is contained in:
Justin M. Keyes 2018-01-16 00:07:14 +01:00
parent fe7a53f3cf
commit 6020e8b69e
2 changed files with 10 additions and 1 deletions

View File

@ -3656,7 +3656,7 @@ static int spell_read_wordfile(spellinfo_T *spin, char_u *fname)
flags |= WF_REGION;
l = *p - '0';
if (l > spin->si_region_count) {
if (l == 0 || l > spin->si_region_count) {
smsg(_("Invalid region nr in %s line %d: %s"),
fname, lnum, p);
break;

View File

@ -272,6 +272,15 @@ func Test_zz_sal_and_addition()
call assert_equal("elekwint", SecondSpellWord())
endfunc
func Test_region_error()
messages clear
call writefile(["/regions=usgbnz", "elequint/0"], "Xtest.latin1.add")
mkspell! Xtest.latin1.add.spl Xtest.latin1.add
call assert_match('Invalid region nr in Xtest.latin1.add line 2: 0', execute('messages'))
call delete('Xtest.latin1.add')
call delete('Xtest.latin1.add.spl')
endfunc
" Check using z= in new buffer (crash fixed by patch 7.4a.028).
func Test_zeq_crash()
new