diff options
Diffstat (limited to 'source/ap/vim/patches/7.3.040')
-rw-r--r-- | source/ap/vim/patches/7.3.040 | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.040 b/source/ap/vim/patches/7.3.040 new file mode 100644 index 00000000..6174cbd9 --- /dev/null +++ b/source/ap/vim/patches/7.3.040 @@ -0,0 +1,48 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.040 +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.3.040 +Problem: Comparing strings while ignoring case goes beyond end of the + string when there are illegal bytes. (Dominique Pelle) +Solution: Explicitly check for illegal bytes. +Files: src/mbyte.c + + +*** ../vim-7.3.039/src/mbyte.c 2010-10-23 14:02:48.000000000 +0200 +--- src/mbyte.c 2010-10-27 13:34:16.000000000 +0200 +*************** +*** 3124,3129 **** +--- 3124,3132 ---- + /* If one of the two characters is incomplete return -1. */ + if (incomplete || i + utf_byte2len(s2[i]) > n) + return -1; ++ /* Don't case-fold illegal bytes or truncated characters. */ ++ if (utf_ptr2len(s1 + i) < l || utf_ptr2len(s2 + i) < l) ++ return -1; + cdiff = utf_fold(utf_ptr2char(s1 + i)) + - utf_fold(utf_ptr2char(s2 + i)); + if (cdiff != 0) +*** ../vim-7.3.039/src/version.c 2010-10-27 12:58:19.000000000 +0200 +--- src/version.c 2010-10-27 13:25:16.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 40, + /**/ + +-- + With sufficient thrust, pigs fly just fine. + -- RFC 1925 + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |