]>
Commit | Line | Data |
---|---|---|
ad28a8ff AG |
1 | To: vim-dev@vim.org |
2 | Subject: patch 7.1.032 | |
3 | Fcc: outbox | |
4 | From: Bram Moolenaar <Bram@moolenaar.net> | |
5 | Mime-Version: 1.0 | |
6 | Content-Type: text/plain; charset=ISO-8859-1 | |
7 | Content-Transfer-Encoding: 8bit | |
8 | ------------ | |
9 | ||
10 | Patch 7.1.032 | |
11 | Problem: Potential crash when editing a command line. (Chris Monson) | |
12 | Solution: Check the position to avoid access before the start of an array. | |
13 | Files: src/ex_getln.c | |
14 | ||
15 | ||
16 | *** ../vim-7.1.031/src/ex_getln.c Thu May 10 20:22:29 2007 | |
17 | --- src/ex_getln.c Tue Jul 17 18:05:49 2007 | |
18 | *************** | |
19 | *** 484,490 **** | |
20 | if (xpc.xp_context == EXPAND_MENUNAMES && p_wmnu) | |
21 | { | |
22 | /* Hitting <Down> after "emenu Name.": complete submenu */ | |
23 | ! if (ccline.cmdbuff[ccline.cmdpos - 1] == '.' && c == K_DOWN) | |
24 | c = p_wc; | |
25 | else if (c == K_UP) | |
26 | { | |
27 | --- 486,493 ---- | |
28 | if (xpc.xp_context == EXPAND_MENUNAMES && p_wmnu) | |
29 | { | |
30 | /* Hitting <Down> after "emenu Name.": complete submenu */ | |
31 | ! if (c == K_DOWN && ccline.cmdpos > 0 | |
32 | ! && ccline.cmdbuff[ccline.cmdpos - 1] == '.') | |
33 | c = p_wc; | |
34 | else if (c == K_UP) | |
35 | { | |
36 | *************** | |
37 | *** 533,541 **** | |
38 | upseg[3] = PATHSEP; | |
39 | upseg[4] = NUL; | |
40 | ||
41 | ! if (ccline.cmdbuff[ccline.cmdpos - 1] == PATHSEP | |
42 | ! && c == K_DOWN | |
43 | ! && (ccline.cmdbuff[ccline.cmdpos - 2] != '.' | |
44 | || ccline.cmdbuff[ccline.cmdpos - 3] != '.')) | |
45 | { | |
46 | /* go down a directory */ | |
47 | --- 536,546 ---- | |
48 | upseg[3] = PATHSEP; | |
49 | upseg[4] = NUL; | |
50 | ||
51 | ! if (c == K_DOWN | |
52 | ! && ccline.cmdpos > 0 | |
53 | ! && ccline.cmdbuff[ccline.cmdpos - 1] == PATHSEP | |
54 | ! && (ccline.cmdpos < 3 | |
55 | ! || ccline.cmdbuff[ccline.cmdpos - 2] != '.' | |
56 | || ccline.cmdbuff[ccline.cmdpos - 3] != '.')) | |
57 | { | |
58 | /* go down a directory */ | |
59 | *************** | |
60 | *** 730,737 **** | |
61 | /* In Ex mode a backslash escapes a newline. */ | |
62 | if (exmode_active | |
63 | && c != ESC | |
64 | - && ccline.cmdpos > 0 | |
65 | && ccline.cmdpos == ccline.cmdlen | |
66 | && ccline.cmdbuff[ccline.cmdpos - 1] == '\\') | |
67 | { | |
68 | if (c == K_KENTER) | |
69 | --- 735,742 ---- | |
70 | /* In Ex mode a backslash escapes a newline. */ | |
71 | if (exmode_active | |
72 | && c != ESC | |
73 | && ccline.cmdpos == ccline.cmdlen | |
74 | + && ccline.cmdpos > 0 | |
75 | && ccline.cmdbuff[ccline.cmdpos - 1] == '\\') | |
76 | { | |
77 | if (c == K_KENTER) | |
78 | *** ../vim-7.1.031/src/version.c Tue Jul 17 16:31:15 2007 | |
79 | --- src/version.c Tue Jul 17 18:10:37 2007 | |
80 | *************** | |
81 | *** 668,669 **** | |
82 | --- 668,671 ---- | |
83 | { /* Add new patch number below this line */ | |
84 | + /**/ | |
85 | + 32, | |
86 | /**/ | |
87 | ||
88 | -- | |
89 | ALL: A witch! A witch! | |
90 | WITCH: It's a fair cop. | |
91 | ALL: Burn her! Burn her! Let's make her into a ladder. | |
92 | "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | |
93 | ||
94 | /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ | |
95 | /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ | |
96 | \\\ download, build and distribute -- http://www.A-A-P.org /// | |
97 | \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |