To: vim_dev@googlegroups.com
Subject: Patch 7.4.102
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.4.102
Problem: Crash when interrupting "z=".
Solution: Add safety check for word length. (Christian Brabandt, Dominique
Pelle)
Files: src/spell.c
*** ../vim-7.4.101/src/spell.c 2013-11-14 03:54:02.000000000 +0100
--- src/spell.c 2013-11-21 17:37:04.000000000 +0100
***************
*** 13398,13406 ****
/* Lookup the word "orgnr" one of the two tries. */
n = 0;
- wlen = 0;
wordcount = 0;
! for (;;)
{
i = 1;
if (wordcount == orgnr && byts[n + 1] == NUL)
--- 13398,13405 ----
/* Lookup the word "orgnr" one of the two tries. */
n = 0;
wordcount = 0;
! for (wlen = 0; wlen < MAXWLEN - 3; ++wlen)
{
i = 1;
if (wordcount == orgnr && byts[n + 1] == NUL)
***************
*** 13414,13419 ****
--- 13413,13419 ----
if (i > byts[n]) /* safety check */
{
STRCPY(theword + wlen, "BAD");
+ wlen += 3;
goto badword;
}
***************
*** 13426,13432 ****
wordcount += wc;
}
! theword[wlen++] = byts[n + i];
n = idxs[n + i];
}
badword:
--- 13426,13432 ----
wordcount += wc;
}
! theword[wlen] = byts[n + i];
n = idxs[n + i];
}
badword:
*** ../vim-7.4.101/src/version.c 2013-11-21 17:12:55.000000000 +0100
--- src/version.c 2013-11-21 17:38:21.000000000 +0100
***************
*** 740,741 ****
--- 740,743 ----
{ /* Add new patch number below this line */
+ /**/
+ 102,
/**/
--
Engineers will go without food and hygiene for days to solve a problem.
(Other times just because they forgot.)
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///