]> granicus.if.org Git - vim/commitdiff
updated for version 7.4.402 v7.4.402
authorBram Moolenaar <Bram@vim.org>
Tue, 12 Aug 2014 18:14:33 +0000 (20:14 +0200)
committerBram Moolenaar <Bram@vim.org>
Tue, 12 Aug 2014 18:14:33 +0000 (20:14 +0200)
Problem:    Test 72 crashes under certain conditions. (Kazunobu Kuriyama)
Solution:   Clear the whole bufinfo_T early.

src/undo.c
src/version.c

index 1661c8074beaabfab732ffeb9d0e49a79787bb7a..8f50f0f0a8d960abaa2b6506e9db83b438f29452 100644 (file)
@@ -929,7 +929,7 @@ undo_write(bi, ptr, len)
 undo_flush(bi)
     bufinfo_T  *bi;
 {
-    if (bi->bi_used > 0)
+    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,10 +1573,7 @@ u_write_undo(name, forceit, buf, hash)
 #endif
     bufinfo_T  bi;
 
-#ifdef FEAT_CRYPT
-    bi.bi_state = NULL;
-    bi.bi_buffer = NULL;
-#endif
+    vim_memset(&bi, 0, sizeof(bi));
 
     if (name == NULL)
     {
@@ -1861,6 +1858,7 @@ u_read_undo(name, hash, orig_name)
 #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,10 +1903,6 @@ u_read_undo(name, hash, orig_name)
     }
     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.
index 33cc85dcfded77bd44213eadfad89a58bfab2ef0..e98036195f05415cf41dabf6c5e2bc16cda1c8a2 100644 (file)
@@ -741,6 +741,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    402,
 /**/
     401,
 /**/