]> granicus.if.org Git - vim/commitdiff
patch 7.4.979 v7.4.979
authorBram Moolenaar <Bram@vim.org>
Sat, 19 Dec 2015 14:28:18 +0000 (15:28 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 19 Dec 2015 14:28:18 +0000 (15:28 +0100)
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)

src/memfile.c
src/version.c

index a21b7076ae7553e02be065cb7db5b30296ef0e05..5b13d510eac5ba95b7620f40d02923655de540d2 100644 (file)
@@ -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
 
index f1bf8733e4f6f45e2aa3d0c37784260a7c3cf268..f949e64273964560e216505b3d04c1a478a857a0 100644 (file)
@@ -741,6 +741,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    979,
 /**/
     978,
 /**/