diff options
author | Bram Moolenaar <Bram@vim.org> | 2015-12-19 15:28:18 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2015-12-19 15:28:18 +0100 |
commit | 4a8c2cfc56b9affc36934aa0f20d8cfd2b1511c8 (patch) | |
tree | a3066ea09e833e502962ebb7344216bbcb1d00c2 /src/memfile.c | |
parent | c42b9c670ea621d4dac0f216e011a6db576c5136 (diff) | |
download | vim-git-4a8c2cfc56b9affc36934aa0f20d8cfd2b1511c8.tar.gz |
patch 7.4.979v7.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)
Diffstat (limited to 'src/memfile.c')
-rw-r--r-- | src/memfile.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/memfile.c b/src/memfile.c index a21b7076a..5b13d510e 100644 --- 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 |