diff src/memfile.c @ 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 cd47def2214a
children 37c929c4a073
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