diff src/buffer.c @ 27231:e1cedf009920 v8.2.4144

patch 8.2.4144: cannot load libsodium dynamically Commit: https://github.com/vim/vim/commit/1a8825d7a3484d76ca16ea2aa9769cadca7758a4 Author: K.Takata <kentkt@csc.jp> Date: Wed Jan 19 13:32:57 2022 +0000 patch 8.2.4144: cannot load libsodium dynamically Problem: Cannot load libsodium dynamically. Solution: Support dynamic loading on MS-Windows. (Ken Takata, closes https://github.com/vim/vim/issues/9554)
author Bram Moolenaar <Bram@vim.org>
date Wed, 19 Jan 2022 14:45:05 +0100
parents 8f1f4f6c87ad
children 841145bb9885
line wrap: on
line diff
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -2269,8 +2269,9 @@ free_buf_options(
 #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));
+    if ((buf->b_p_key != NULL) && (*buf->b_p_key != NUL) &&
+				(crypt_get_method_nr(buf) == CRYPT_M_SOD))
+	crypt_sodium_munlock(buf->b_p_key, STRLEN(buf->b_p_key));
 # endif
     clear_string_option(&buf->b_p_key);
 #endif