patch 8.2.3245: the crypt key may appear in a swap partition
Problem: The crypt key may appear in a swap partition.
Solution: When using xchaha20 use sodium_mlock(). (Christian Brabandt,
closes #8657)
diff --git a/src/buffer.c b/src/buffer.c
index 59397e4..628c82f 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -2306,6 +2306,10 @@
clear_string_option(&buf->b_p_fex);
#endif
#ifdef FEAT_CRYPT
+# ifdef FEAT_SODIUM
+ if (buf->b_p_key != NULL && (crypt_get_method_nr(buf) == CRYPT_M_SOD))
+ sodium_munlock(buf->b_p_key, STRLEN(buf->b_p_key));
+# endif
clear_string_option(&buf->b_p_key);
#endif
clear_string_option(&buf->b_p_kp);