summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2014-08-12 20:14:33 +0200
committerBram Moolenaar <Bram@vim.org>2014-08-12 20:14:33 +0200
commit5a669b94814a5ca1ff69f76f18c75a90f4404ca6 (patch)
tree7b270af53503fdd4d7452b596272a421dafef050
parent07cf382e223b8b88f4b763d104e3e487c96d32d2 (diff)
updated for version 7.4.402v7.4.402
Problem: Test 72 crashes under certain conditions. (Kazunobu Kuriyama) Solution: Clear the whole bufinfo_T early.
-rw-r--r--src/undo.c12
-rw-r--r--src/version.c2
2 files changed, 5 insertions, 9 deletions
diff --git a/src/undo.c b/src/undo.c
index 1661c8074b..8f50f0f0a8 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -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.
diff --git a/src/version.c b/src/version.c
index 33cc85dcfd..e98036195f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 402,
+/**/
401,
/**/
400,