mirror of
https://github.com/vim/vim.git
synced 2025-09-29 04:34:16 -04:00
patch 8.2.3063: crash when switching 'cryptmethod' to xchaha20 with undo file
Problem: Crash when switching 'cryptmethod' to xchaha20 with an existing undo file. (Martin Tournoij) Solution: Disable reading undo file when decoding can't be done inplace. (issue #8467)
This commit is contained in:
@@ -1298,9 +1298,17 @@ retry:
|
||||
* At start of file: Check for magic number of encryption.
|
||||
*/
|
||||
if (filesize == 0 && size > 0)
|
||||
{
|
||||
cryptkey = check_for_cryptkey(cryptkey, ptr, &size,
|
||||
&filesize, newfile, sfname,
|
||||
&did_ask_for_key);
|
||||
# ifdef CRYPT_NOT_INPLACE
|
||||
if (curbuf->b_cryptstate != NULL
|
||||
&& !crypt_works_inplace(curbuf->b_cryptstate))
|
||||
// reading undo file requires crypt_decode_inplace()
|
||||
read_undo_file = FALSE;
|
||||
# endif
|
||||
}
|
||||
/*
|
||||
* Decrypt the read bytes. This is done before checking for
|
||||
* EOF because the crypt layer may be buffering.
|
||||
|
Reference in New Issue
Block a user