diff --git a/shadowsocks-csharp/Encryption/IVEncryptor.cs b/shadowsocks-csharp/Encryption/IVEncryptor.cs index 12845c0b..f6781a29 100755 --- a/shadowsocks-csharp/Encryption/IVEncryptor.cs +++ b/shadowsocks-csharp/Encryption/IVEncryptor.cs @@ -237,10 +237,10 @@ namespace Shadowsocks.Encryption protected static void randBytes(byte[] buf, int length) { - byte[] temp = new byte[length]; - RNGCryptoServiceProvider rngServiceProvider = new RNGCryptoServiceProvider(); - rngServiceProvider.GetBytes(temp); - temp.CopyTo(buf, 0); + using (RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider()) + { + rng.GetBytes(buf, 0, length); + } } public override void Encrypt(byte[] buf, int length, byte[] outbuf, out int outlength)