patch 8.2.3032: build problems with MSVC, other crypt issues with libsodium
Problem: Build problems with MSVC, other crypt issues with libsodium.
Solution: Adjust MSVC makefile. Disable swap file only when 'key' is set.
Adjust error message used when key is wrong. Fix Coverity issues.
(Christian Brabandt, closes #8420, closes #8411)
diff --git a/src/fileio.c b/src/fileio.c
index e05dfa3..7c8f00d 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -1213,6 +1213,7 @@
* Read bytes from curbuf. Used for converting text read
* from stdin.
*/
+ eof = FALSE;
if (read_buf_lnum > from)
size = 0;
else
@@ -1261,6 +1262,7 @@
if (!curbuf->b_p_eol)
--tlen;
size = tlen;
+ eof = TRUE;
break;
}
}
@@ -1276,7 +1278,7 @@
// Let the crypt layer work with a buffer size of 8192
if (filesize == 0)
// set size to 8K + Sodium Crypt Metadata
- size = WRITEBUFSIZE + 36
+ size = WRITEBUFSIZE + crypt_get_max_header_len()
+ crypto_secretstream_xchacha20poly1305_HEADERBYTES
+ crypto_secretstream_xchacha20poly1305_ABYTES;