Mercurial > vim
changeset 12694:514c1741ab8c v8.0.1225
patch 8.0.1225: no check for spell region being zero
commit https://github.com/vim/vim/commit/ee03b941241eae1d36bc29b84eec09116cefe7cd
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Oct 27 00:57:05 2017 +0200
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 https://github.com/vim/vim/issues/2252)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 27 Oct 2017 01:00:06 +0200 |
parents | 78f24b9d1ceb |
children | ea24919085d3 |
files | src/spellfile.c src/testdir/test_spell.vim src/version.c |
diffstat | 3 files changed, 12 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/spellfile.c +++ b/src/spellfile.c @@ -4277,7 +4277,7 @@ spell_read_wordfile(spellinfo_T *spin, c flags |= WF_REGION; l = *p - '0'; - if (l > spin->si_region_count) + if (l == 0 || l > spin->si_region_count) { smsg((char_u *)_("Invalid region nr in %s line %d: %s"), fname, lnum, p);
--- a/src/testdir/test_spell.vim +++ b/src/testdir/test_spell.vim @@ -271,6 +271,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