diff --git a/7.4.402 b/7.4.402 new file mode 100644 index 00000000..6fa18af6 --- /dev/null +++ b/7.4.402 @@ -0,0 +1,103 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.402 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.402 +Problem: Test 72 crashes under certain conditions. (Kazunobu Kuriyama) +Solution: Clear the whole bufinfo_T early. +Files: src/undo.c + + +*** ../vim-7.4.401/src/undo.c 2014-08-10 13:34:59.064785459 +0200 +--- src/undo.c 2014-08-12 20:08:23.915373819 +0200 +*************** +*** 929,935 **** + undo_flush(bi) + bufinfo_T *bi; + { +! if (bi->bi_used > 0) + { + crypt_encode_inplace(bi->bi_state, bi->bi_buffer, bi->bi_used); + if (fwrite(bi->bi_buffer, bi->bi_used, (size_t)1, bi->bi_fp) != 1) +--- 929,935 ---- + undo_flush(bi) + bufinfo_T *bi; + { +! if (bi->bi_buffer != NULL && bi->bi_used > 0) + { + crypt_encode_inplace(bi->bi_state, bi->bi_buffer, bi->bi_used); + if (fwrite(bi->bi_buffer, bi->bi_used, (size_t)1, bi->bi_fp) != 1) +*************** +*** 1573,1582 **** + #endif + bufinfo_T bi; + +! #ifdef FEAT_CRYPT +! bi.bi_state = NULL; +! bi.bi_buffer = NULL; +! #endif + + if (name == NULL) + { +--- 1573,1579 ---- + #endif + bufinfo_T bi; + +! vim_memset(&bi, 0, sizeof(bi)); + + if (name == NULL) + { +*************** +*** 1861,1866 **** +--- 1858,1864 ---- + #endif + bufinfo_T bi; + ++ vim_memset(&bi, 0, sizeof(bi)); + if (name == NULL) + { + file_name = u_get_undo_file_name(curbuf->b_ffname, TRUE); +*************** +*** 1905,1914 **** + } + bi.bi_buf = curbuf; + bi.bi_fp = fp; +- #ifdef FEAT_CRYPT +- bi.bi_state = NULL; +- bi.bi_buffer = NULL; +- #endif + + /* + * Read the undo file header. +--- 1903,1908 ---- +*** ../vim-7.4.401/src/version.c 2014-08-10 16:31:47.376709213 +0200 +--- src/version.c 2014-08-12 20:11:13.879372598 +0200 +*************** +*** 743,744 **** +--- 743,746 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 402, + /**/ + +-- +Far back in the mists of ancient time, in the great and glorious days of the +former Galactic Empire, life was wild, rich and largely tax free. +Mighty starships plied their way between exotic suns, seeking adventure and +reward among the furthest reaches of Galactic space. In those days, spirits +were brave, the stakes were high, men were real men, women were real women +and small furry creatures from Alpha Centauri were real small furry creatures +from Alpha Centauri. And all dared to brave unknown terrors, to do mighty +deeds, to boldly split infinitives that no man had split before -- and thus +was the Empire forged. + -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/vim.spec b/vim.spec index 64850ffa..856943a7 100644 --- a/vim.spec +++ b/vim.spec @@ -1,4 +1,4 @@ -%define patchlevel 401 +%define patchlevel 402 %if %{?WITH_SELINUX:0}%{!?WITH_SELINUX:1} %define WITH_SELINUX 1 %endif @@ -449,6 +449,7 @@ Patch398: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.398 Patch399: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.399 Patch400: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.400 Patch401: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.401 +Patch402: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.402 Patch3000: vim-7.4-syntax.patch Patch3002: vim-7.1-nowarnings.patch @@ -998,6 +999,7 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk %patch399 -p0 %patch400 -p0 %patch401 -p0 +%patch402 -p0 # install spell files %if %{withvimspell} @@ -1331,43 +1333,43 @@ rm -rf %{buildroot} %if ! %{withvimspell} %{_datadir}/%{name}/%{vimdir}/spell %endif -%lang(af) %{_datadir}/%{name}/%{vimdir}/lang/af -%lang(ca) %{_datadir}/%{name}/%{vimdir}/lang/ca -%lang(cs) %{_datadir}/%{name}/%{vimdir}/lang/cs -%lang(cs.cp1250) %{_datadir}/%{name}/%{vimdir}/lang/cs.cp1250 -%lang(de) %{_datadir}/%{name}/%{vimdir}/lang/de -%lang(en_GB) %{_datadir}/%{name}/%{vimdir}/lang/en_GB -%lang(eo) %{_datadir}/%{name}/%{vimdir}/lang/eo -%lang(es) %{_datadir}/%{name}/%{vimdir}/lang/es -%lang(fi) %{_datadir}/%{name}/%{vimdir}/lang/fi -%lang(fr) %{_datadir}/%{name}/%{vimdir}/lang/fr -%lang(ga) %{_datadir}/%{name}/%{vimdir}/lang/ga -%lang(it) %{_datadir}/%{name}/%{vimdir}/lang/it -%lang(ja) %{_datadir}/%{name}/%{vimdir}/lang/ja -%lang(ja.euc-jp) %{_datadir}/%{name}/%{vimdir}/lang/ja.euc-jp -%lang(ja.sjis) %{_datadir}/%{name}/%{vimdir}/lang/ja.sjis -%lang(ko) %{_datadir}/%{name}/%{vimdir}/lang/ko -%lang(ko) %{_datadir}/%{name}/%{vimdir}/lang/ko.UTF-8 -%lang(nb) %{_datadir}/%{name}/%{vimdir}/lang/nb -%lang(nl) %{_datadir}/%{name}/%{vimdir}/lang/nl -%lang(no) %{_datadir}/%{name}/%{vimdir}/lang/no -%lang(pl) %{_datadir}/%{name}/%{vimdir}/lang/pl -%lang(pl.UTF-8) %{_datadir}/%{name}/%{vimdir}/lang/pl.UTF-8 -%lang(pl.cp1250) %{_datadir}/%{name}/%{vimdir}/lang/pl.cp1250 -%lang(pt_BR) %{_datadir}/%{name}/%{vimdir}/lang/pt_BR -%lang(ru) %{_datadir}/%{name}/%{vimdir}/lang/ru -%lang(ru.cp1251) %{_datadir}/%{name}/%{vimdir}/lang/ru.cp1251 -%lang(sk) %{_datadir}/%{name}/%{vimdir}/lang/sk -%lang(sk.cp1250) %{_datadir}/%{name}/%{vimdir}/lang/sk.cp1250 -%lang(sv) %{_datadir}/%{name}/%{vimdir}/lang/sv -%lang(uk) %{_datadir}/%{name}/%{vimdir}/lang/uk -%lang(uk.cp1251) %{_datadir}/%{name}/%{vimdir}/lang/uk.cp1251 -%lang(vi) %{_datadir}/%{name}/%{vimdir}/lang/vi -%lang(zh_CN) %{_datadir}/%{name}/%{vimdir}/lang/zh_CN -%lang(zh_CN.cp936) %{_datadir}/%{name}/%{vimdir}/lang/zh_CN.cp936 -%lang(zh_TW) %{_datadir}/%{name}/%{vimdir}/lang/zh_TW -%lang(zh_CN.UTF-8) %{_datadir}/%{name}/%{vimdir}/lang/zh_CN.UTF-8 -%lang(zh_TW.UTF-8) %{_datadir}/%{name}/%{vimdir}/lang/zh_TW.UTF-8 +#lang(af) %{_datadir}/%{name}/%{vimdir}/lang/af +#lang(ca) %{_datadir}/%{name}/%{vimdir}/lang/ca +#lang(cs) %{_datadir}/%{name}/%{vimdir}/lang/cs +#lang(cs.cp1250) %{_datadir}/%{name}/%{vimdir}/lang/cs.cp1250 +#lang(de) %{_datadir}/%{name}/%{vimdir}/lang/de +#lang(en_GB) %{_datadir}/%{name}/%{vimdir}/lang/en_GB +#lang(eo) %{_datadir}/%{name}/%{vimdir}/lang/eo +#lang(es) %{_datadir}/%{name}/%{vimdir}/lang/es +#lang(fi) %{_datadir}/%{name}/%{vimdir}/lang/fi +#lang(fr) %{_datadir}/%{name}/%{vimdir}/lang/fr +#lang(ga) %{_datadir}/%{name}/%{vimdir}/lang/ga +#lang(it) %{_datadir}/%{name}/%{vimdir}/lang/it +#lang(ja) %{_datadir}/%{name}/%{vimdir}/lang/ja +#lang(ja.euc-jp) %{_datadir}/%{name}/%{vimdir}/lang/ja.euc-jp +#lang(ja.sjis) %{_datadir}/%{name}/%{vimdir}/lang/ja.sjis +#lang(ko) %{_datadir}/%{name}/%{vimdir}/lang/ko +#lang(ko) %{_datadir}/%{name}/%{vimdir}/lang/ko.UTF-8 +#lang(nb) %{_datadir}/%{name}/%{vimdir}/lang/nb +#lang(nl) %{_datadir}/%{name}/%{vimdir}/lang/nl +#lang(no) %{_datadir}/%{name}/%{vimdir}/lang/no +#lang(pl) %{_datadir}/%{name}/%{vimdir}/lang/pl +#lang(pl.UTF-8) %{_datadir}/%{name}/%{vimdir}/lang/pl.UTF-8 +#lang(pl.cp1250) %{_datadir}/%{name}/%{vimdir}/lang/pl.cp1250 +#lang(pt_BR) %{_datadir}/%{name}/%{vimdir}/lang/pt_BR +#lang(ru) %{_datadir}/%{name}/%{vimdir}/lang/ru +#lang(ru.cp1251) %{_datadir}/%{name}/%{vimdir}/lang/ru.cp1251 +#lang(sk) %{_datadir}/%{name}/%{vimdir}/lang/sk +#lang(sk.cp1250) %{_datadir}/%{name}/%{vimdir}/lang/sk.cp1250 +#lang(sv) %{_datadir}/%{name}/%{vimdir}/lang/sv +#lang(uk) %{_datadir}/%{name}/%{vimdir}/lang/uk +#lang(uk.cp1251) %{_datadir}/%{name}/%{vimdir}/lang/uk.cp1251 +#lang(vi) %{_datadir}/%{name}/%{vimdir}/lang/vi +#lang(zh_CN) %{_datadir}/%{name}/%{vimdir}/lang/zh_CN +#lang(zh_CN.cp936) %{_datadir}/%{name}/%{vimdir}/lang/zh_CN.cp936 +#lang(zh_TW) %{_datadir}/%{name}/%{vimdir}/lang/zh_TW +#lang(zh_CN.UTF-8) %{_datadir}/%{name}/%{vimdir}/lang/zh_CN.UTF-8 +#lang(zh_TW.UTF-8) %{_datadir}/%{name}/%{vimdir}/lang/zh_TW.UTF-8 /%{_bindir}/xxd %{_mandir}/man1/ex.* %{_mandir}/man1/gex.* @@ -1510,6 +1512,9 @@ rm -rf %{buildroot} %{_datadir}/icons/hicolor/*/apps/* %changelog +* Wed Aug 13 2014 Karsten Hopp 7.4.402-1 +- patchlevel 402 + * Tue Aug 12 2014 Karsten Hopp 7.4.401-1 - patchlevel 401