]> git.pld-linux.org Git - packages/vim.git/blob - 7.1.055
- updated to 7.1.285
[packages/vim.git] / 7.1.055
1 To: vim-dev@vim.org
2 Subject: patch 7.1.055
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.055
11 Problem:    Using strcpy() with arguments that overlap.
12 Solution:   Use mch_memmove() instead.
13 Files:      src/buffer.c, src/charset.c, src/eval.c, src/ex_getln.c,
14             src/misc1.c, src/regexp.c, src/termlib.c
15
16
17 *** ../vim-7.1.054/src/buffer.c Tue Jun 19 15:40:51 2007
18 --- src/buffer.c        Sun Aug  5 16:14:03 2007
19 ***************
20 *** 4860,4866 ****
21              */
22             for (e = s; *e != ':' && *e != NUL; ++e)
23                 if (e[0] == '\\' && e[1] == ':')
24 !                   STRCPY(e, e + 1);
25             if (*e == NUL)
26                 end = TRUE;
27   
28 --- 4860,4866 ----
29              */
30             for (e = s; *e != ':' && *e != NUL; ++e)
31                 if (e[0] == '\\' && e[1] == ':')
32 !                   mch_memmove(e, e + 1, STRLEN(e));
33             if (*e == NUL)
34                 end = TRUE;
35   
36 *** ../vim-7.1.054/src/charset.c        Tue Mar 27 12:41:45 2007
37 --- src/charset.c       Sun Aug  5 21:53:44 2007
38 ***************
39 *** 1898,1904 ****
40   {
41       for ( ; *p; ++p)
42         if (rem_backslash(p))
43 !           STRCPY(p, p + 1);
44   }
45   
46   /*
47 --- 1898,1904 ----
48   {
49       for ( ; *p; ++p)
50         if (rem_backslash(p))
51 !           mch_memmove(p, p + 1, STRLEN(p));
52   }
53   
54   /*
55 *** ../vim-7.1.054/src/eval.c   Fri Jul 27 21:32:13 2007
56 --- src/eval.c  Sun Aug  5 16:25:03 2007
57 ***************
58 *** 13807,13813 ****
59             }
60             /* Shorten "remain". */
61             if (*q != NUL)
62 !               STRCPY(remain, q - 1);
63             else
64             {
65                 vim_free(remain);
66 --- 13807,13813 ----
67             }
68             /* Shorten "remain". */
69             if (*q != NUL)
70 !               mch_memmove(remain, q - 1, STRLEN(q - 1) + 1);
71             else
72             {
73                 vim_free(remain);
74 *** ../vim-7.1.054/src/ex_getln.c       Sat Jul 28 14:21:04 2007
75 --- src/ex_getln.c      Sun Aug  5 21:55:56 2007
76 ***************
77 *** 4306,4315 ****
78                             && pat[i + 1] == '\\'
79                             && pat[i + 2] == '\\'
80                             && pat[i + 3] == ' ')
81 !                       STRCPY(pat + i, pat + i + 3);
82                     if (xp->xp_backslash == XP_BS_ONE
83                             && pat[i + 1] == ' ')
84 !                       STRCPY(pat + i, pat + i + 1);
85                 }
86         }
87   
88 --- 4306,4316 ----
89                             && pat[i + 1] == '\\'
90                             && pat[i + 2] == '\\'
91                             && pat[i + 3] == ' ')
92 !                       mch_memmove(pat + i, pat + i + 3,
93 !                                                    STRLEN(pat + i + 3) + 1);
94                     if (xp->xp_backslash == XP_BS_ONE
95                             && pat[i + 1] == ' ')
96 !                       mch_memmove(pat + i, pat + i + 1, STRLEN(pat + i));
97                 }
98         }
99   
100 ***************
101 *** 4552,4558 ****
102       pat = vim_strsave(filepat);
103       for (i = 0; pat[i]; ++i)
104         if (pat[i] == '\\' && pat[i + 1] == ' ')
105 !           STRCPY(pat + i, pat + i + 1);
106   
107       flags |= EW_FILE | EW_EXEC;
108   
109 --- 4553,4559 ----
110       pat = vim_strsave(filepat);
111       for (i = 0; pat[i]; ++i)
112         if (pat[i] == '\\' && pat[i + 1] == ' ')
113 !           mch_memmove(pat + i, pat + i + 1, STRLEN(pat + i));
114   
115       flags |= EW_FILE | EW_EXEC;
116   
117 *** ../vim-7.1.054/src/misc1.c  Sat Aug  4 12:14:04 2007
118 --- src/misc1.c Sun Aug  5 21:57:15 2007
119 ***************
120 *** 8635,8641 ****
121       for (p = buf + wildoff; p < s; ++p)
122         if (rem_backslash(p))
123         {
124 !           STRCPY(p, p + 1);
125             --e;
126             --s;
127         }
128 --- 8635,8641 ----
129       for (p = buf + wildoff; p < s; ++p)
130         if (rem_backslash(p))
131         {
132 !           mch_memmove(p, p + 1, STRLEN(p));
133             --e;
134             --s;
135         }
136 ***************
137 *** 8936,8942 ****
138       for (p = buf + wildoff; p < s; ++p)
139         if (rem_backslash(p))
140         {
141 !           STRCPY(p, p + 1);
142             --e;
143             --s;
144         }
145 --- 8936,8942 ----
146       for (p = buf + wildoff; p < s; ++p)
147         if (rem_backslash(p))
148         {
149 !           mch_memmove(p, p + 1, STRLEN(p));
150             --e;
151             --s;
152         }
153 *** ../vim-7.1.054/src/regexp.c Mon Jul 30 22:32:11 2007
154 --- src/regexp.c        Sun Aug  5 15:43:27 2007
155 ***************
156 *** 6637,6645 ****
157                 }
158             }
159             else if (magic)
160 !               STRCPY(p, p + 1);               /* remove '~' */
161             else
162 !               STRCPY(p, p + 2);               /* remove '\~' */
163             --p;
164         }
165         else
166 --- 6638,6646 ----
167                 }
168             }
169             else if (magic)
170 !               mch_memmove(p, p + 1, STRLEN(p));       /* remove '~' */
171             else
172 !               mch_memmove(p, p + 2, STRLEN(p) - 1);   /* remove '\~' */
173             --p;
174         }
175         else
176 *** ../vim-7.1.054/src/termlib.c        Thu May 10 20:20:59 2007
177 --- src/termlib.c       Sun Aug  5 21:52:41 2007
178 ***************
179 *** 191,197 ****
180             lbuf[0] == '\t' &&
181             lbuf[1] == ':')
182         {
183 !           strcpy(lbuf, lbuf+2);
184             llen -= 2;
185         }
186         if (lbuf[llen-2] == '\\')               /* and continuations */
187 --- 191,197 ----
188             lbuf[0] == '\t' &&
189             lbuf[1] == ':')
190         {
191 !           mch_memmove(lbuf, lbuf + 2, strlen(lbuf + 2) + 1);
192             llen -= 2;
193         }
194         if (lbuf[llen-2] == '\\')               /* and continuations */
195 *** ../vim-7.1.054/src/version.c        Sun Aug  5 20:10:16 2007
196 --- src/version.c       Mon Aug  6 21:34:54 2007
197 ***************
198 *** 668,669 ****
199 --- 668,671 ----
200   {   /* Add new patch number below this line */
201 + /**/
202 +     55,
203   /**/
204
205 -- 
206 From "know your smileys":
207  %      Bike accident.  A bit far-fetched, I suppose; although...
208              o      _     _         _
209      _o     /\_   _ \\o  (_)\__/o  (_)
210    _< \_   _>(_) (_)/<_    \_| \   _|/' \/
211   (_)>(_) (_)        (_)   (_)    (_)'  _\o_
212
213  /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
214 ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
215 \\\        download, build and distribute -- http://www.A-A-P.org        ///
216  \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
This page took 0.041953 seconds and 3 git commands to generate.