aboutsummaryrefslogtreecommitdiff
path: root/back-end
diff options
context:
space:
mode:
authorLibravatar vnugent <public@vaughnnugent.com>2024-03-03 15:06:26 -0500
committerLibravatar vnugent <public@vaughnnugent.com>2024-03-03 15:06:26 -0500
commita8603e00e390b07c036384285412eda5e07beda7 (patch)
treee0cdaffc3eff61502731829c7906d6e5962b22a1 /back-end
parente4b5b937a05a9869249619a3b17a7269648d93bd (diff)
fix: fix library handle leak in hot-reload
Diffstat (limited to 'back-end')
-rw-r--r--back-end/plugins/nvault/src/ManagedCryptoprovider.cs11
1 files changed, 10 insertions, 1 deletions
diff --git a/back-end/plugins/nvault/src/ManagedCryptoprovider.cs b/back-end/plugins/nvault/src/ManagedCryptoprovider.cs
index fe585cc..e239248 100644
--- a/back-end/plugins/nvault/src/ManagedCryptoprovider.cs
+++ b/back-end/plugins/nvault/src/ManagedCryptoprovider.cs
@@ -28,7 +28,7 @@ using NVault.Crypto.Noscrypt;
namespace NVault.Plugins.Vault
{
[ConfigurationName("crypto")]
- internal class ManagedCryptoprovider : INostrCryptoProvider
+ internal class ManagedCryptoprovider : INostrCryptoProvider, IDisposable
{
private readonly INostrCryptoProvider _provider;
@@ -99,5 +99,14 @@ namespace NVault.Plugins.Vault
{
_provider.GetRandomBytes(bytes);
}
+
+ public void Dispose()
+ {
+ //Dont leak the library
+ if(_provider is IDisposable noscrypt)
+ {
+ noscrypt.Dispose();
+ }
+ }
}
}