forked from aniani/vim
patch 9.0.0035: spell dump may go beyond end of an array
Problem: Spell dump may go beyond end of an array. Solution: Limit the word length.
This commit is contained in:
@@ -3996,9 +3996,10 @@ spell_dump_compl(
|
||||
n = arridx[depth] + curi[depth];
|
||||
++curi[depth];
|
||||
c = byts[n];
|
||||
if (c == 0)
|
||||
if (c == 0 || depth >= MAXWLEN - 1)
|
||||
{
|
||||
// End of word, deal with the word.
|
||||
// End of word or reached maximum length, deal with the
|
||||
// word.
|
||||
// Don't use keep-case words in the fold-case tree,
|
||||
// they will appear in the keep-case tree.
|
||||
// Only use the word when the region matches.
|
||||
|
@@ -285,6 +285,18 @@ func Test_spellreall()
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
func Test_spell_dump_word_length()
|
||||
" this was running over MAXWLEN
|
||||
new
|
||||
noremap 0 0a0zW0000000
|
||||
sil! norm 0z=0
|
||||
sil norm 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
sil! norm 0z=0
|
||||
|
||||
bwipe!
|
||||
nunmap 0
|
||||
endfunc
|
||||
|
||||
" Test spellsuggest({word} [, {max} [, {capital}]])
|
||||
func Test_spellsuggest()
|
||||
" Verify suggestions are given even when spell checking is not enabled.
|
||||
|
@@ -735,6 +735,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
35,
|
||||
/**/
|
||||
34,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user