changeset 7347:8977b399cf55 v7.4.979

commit https://github.com/vim/vim/commit/4a8c2cfc56b9affc36934aa0f20d8cfd2b1511c8 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Dec 19 15:28:18 2015 +0100 patch 7.4.979 Problem: When changing the crypt key the blocks read from disk are not decrypted. Solution: Also call ml_decrypt_data() when mf_old_key is set. (Ken Takata)
author Christian Brabandt <cb@256bit.org>
date Sat, 19 Dec 2015 15:30:04 +0100
parents e562b66b7eab
children f2a7b3338d30
files src/memfile.c src/version.c
diffstat 2 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/memfile.c
+++ b/src/memfile.c
@@ -1032,8 +1032,9 @@ mf_read(mfp, hp)
     }
 
 #ifdef FEAT_CRYPT
-    /* Decrypt if 'key' is set and this is a data block. */
-    if (*mfp->mf_buffer->b_p_key != NUL)
+    /* Decrypt if 'key' is set and this is a data block. And when changing the
+     * key. */
+    if (*mfp->mf_buffer->b_p_key != NUL || mfp->mf_old_key != NULL)
 	ml_decrypt_data(mfp, hp->bh_data, offset, size);
 #endif
 
--- 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 */
 /**/
+    979,
+/**/
     978,
 /**/
     977,