summaryrefslogtreecommitdiffstats
path: root/patches/source/vim/patches/7.4.102
blob: b41341301ebe1798f394c7194e53ce36e142a491 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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    ///