diff --git a/7.4.402 b/7.4.402
new file mode 100644
index 0000000..6fa18af
--- /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 <Bram@moolenaar.net>
+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 64850ff..856943a 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 <karsten@redhat.com> 7.4.402-1
+- patchlevel 402
+
 * Tue Aug 12 2014 Karsten Hopp <karsten@redhat.com> 7.4.401-1
 - patchlevel 401