]>
Commit | Line | Data |
---|---|---|
f5a1442d ER |
1 | To: vim_dev@googlegroups.com |
2 | Subject: Patch 7.3.040 | |
3 | Fcc: outbox | |
4 | From: Bram Moolenaar <Bram@moolenaar.net> | |
5 | Mime-Version: 1.0 | |
6 | Content-Type: text/plain; charset=UTF-8 | |
7 | Content-Transfer-Encoding: 8bit | |
8 | ------------ | |
9 | ||
10 | Patch 7.3.040 | |
11 | Problem: Comparing strings while ignoring case goes beyond end of the | |
12 | string when there are illegal bytes. (Dominique Pelle) | |
13 | Solution: Explicitly check for illegal bytes. | |
14 | Files: src/mbyte.c | |
15 | ||
16 | ||
17 | *** ../vim-7.3.039/src/mbyte.c 2010-10-23 14:02:48.000000000 +0200 | |
18 | --- src/mbyte.c 2010-10-27 13:34:16.000000000 +0200 | |
19 | *************** | |
20 | *** 3124,3129 **** | |
21 | --- 3124,3132 ---- | |
22 | /* If one of the two characters is incomplete return -1. */ | |
23 | if (incomplete || i + utf_byte2len(s2[i]) > n) | |
24 | return -1; | |
25 | + /* Don't case-fold illegal bytes or truncated characters. */ | |
26 | + if (utf_ptr2len(s1 + i) < l || utf_ptr2len(s2 + i) < l) | |
27 | + return -1; | |
28 | cdiff = utf_fold(utf_ptr2char(s1 + i)) | |
29 | - utf_fold(utf_ptr2char(s2 + i)); | |
30 | if (cdiff != 0) | |
31 | *** ../vim-7.3.039/src/version.c 2010-10-27 12:58:19.000000000 +0200 | |
32 | --- src/version.c 2010-10-27 13:25:16.000000000 +0200 | |
33 | *************** | |
34 | *** 716,717 **** | |
35 | --- 716,719 ---- | |
36 | { /* Add new patch number below this line */ | |
37 | + /**/ | |
38 | + 40, | |
39 | /**/ | |
40 | ||
41 | -- | |
42 | With sufficient thrust, pigs fly just fine. | |
43 | -- RFC 1925 | |
44 | ||
45 | /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ | |
46 | /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ | |
47 | \\\ download, build and distribute -- http://www.A-A-P.org /// | |
48 | \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |