]> git.pld-linux.org Git - packages/vim.git/blame - 7.2.279
- up to 7.2.436
[packages/vim.git] / 7.2.279
CommitLineData
c936e692
AG
1To: vim-dev@vim.org
2Subject: Patch 7.2.279
3Fcc: outbox
4From: Bram Moolenaar <Bram@moolenaar.net>
5Mime-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8------------
9
10Patch 7.2.279
11Problem: Invalid memory read with visual mode "r". (Dominique Pelle)
12Solution: Make sure the cursor position is valid. Don't check the cursor
13 position but the position being used. And make sure we get the
14 right line.
15Files: src/misc2.c, src/ops.c
16
17
18*** ../vim-7.2.278/src/misc2.c 2009-05-16 21:06:36.000000000 +0200
19--- src/misc2.c 2009-11-03 16:43:10.000000000 +0100
20***************
21*** 156,162 ****
22 || ((ve_flags & VE_ONEMORE) && wcol < MAXCOL)
23 #endif
24 ;
25! line = ml_get_curline();
26
27 if (wcol >= MAXCOL)
28 {
29--- 156,162 ----
30 || ((ve_flags & VE_ONEMORE) && wcol < MAXCOL)
31 #endif
32 ;
33! line = ml_get_buf(curbuf, pos->lnum, FALSE);
34
35 if (wcol >= MAXCOL)
36 {
37***************
38*** 332,340 ****
39 #endif
40
41 #ifdef FEAT_MBYTE
42! /* prevent cursor from moving on the trail byte */
43 if (has_mbyte)
44! mb_adjust_cursor();
45 #endif
46
47 if (col < wcol)
48--- 332,340 ----
49 #endif
50
51 #ifdef FEAT_MBYTE
52! /* prevent from moving onto a trail byte */
53 if (has_mbyte)
54! mb_adjustpos(pos);
55 #endif
56
57 if (col < wcol)
58*** ../vim-7.2.278/src/ops.c 2009-09-30 15:15:33.000000000 +0200
59--- src/ops.c 2009-11-03 15:18:50.000000000 +0100
60***************
61*** 2020,2025 ****
62--- 2020,2026 ----
63 bd.is_MAX = (curwin->w_curswant == MAXCOL);
64 for ( ; curwin->w_cursor.lnum <= oap->end.lnum; ++curwin->w_cursor.lnum)
65 {
66+ curwin->w_cursor.col = 0; /* make sure cursor position is valid */
67 block_prep(oap, &bd, curwin->w_cursor.lnum, TRUE);
68 if (bd.textlen == 0 && (!virtual_op || bd.is_MAX))
69 continue; /* nothing to replace */
70***************
71*** 2035,2040 ****
72--- 2036,2042 ----
73 {
74 pos_T vpos;
75
76+ vpos.lnum = curwin->w_cursor.lnum;
77 getvpos(&vpos, oap->start_vcol);
78 bd.startspaces += vpos.coladd;
79 n = bd.startspaces;
80***************
81*** 2693,2703 ****
82 * initial coladd offset as part of "startspaces" */
83 if (bd.is_short)
84 {
85! linenr_T lnum = curwin->w_cursor.lnum;
86!
87! curwin->w_cursor.lnum = linenr;
88 (void)getvpos(&vpos, oap->start_vcol);
89- curwin->w_cursor.lnum = lnum;
90 }
91 else
92 vpos.coladd = 0;
93--- 2695,2702 ----
94 * initial coladd offset as part of "startspaces" */
95 if (bd.is_short)
96 {
97! vpos.lnum = linenr;
98 (void)getvpos(&vpos, oap->start_vcol);
99 }
100 else
101 vpos.coladd = 0;
102*** ../vim-7.2.278/src/version.c 2009-11-03 16:29:48.000000000 +0100
103--- src/version.c 2009-11-03 16:41:53.000000000 +0100
104***************
105*** 678,679 ****
106--- 678,681 ----
107 { /* Add new patch number below this line */
108+ /**/
109+ 279,
110 /**/
111
112--
113BEDEVERE: How do you know so much about swallows?
114ARTHUR: Well you have to know these things when you're a king, you know.
115 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
116
117 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
118/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
119\\\ download, build and distribute -- http://www.A-A-P.org ///
120 \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
This page took 0.038396 seconds and 4 git commands to generate.