patch 8.2.4144: cannot load libsodium dynamically
Problem: Cannot load libsodium dynamically.
Solution: Support dynamic loading on MS-Windows. (Ken Takata, closes #9554)
diff --git a/src/buffer.c b/src/buffer.c
index 08db0fc..18aa2a0 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -2269,8 +2269,9 @@
#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