From 7cf79c84e2db723fec8ccf78880915c76d20111c Mon Sep 17 00:00:00 2001 From: Vincent-X-Zhang Date: Wed, 11 Feb 2026 23:44:23 +0800 Subject: [PATCH] Fixed a potential memory leak risk in `MemoryStreamExtension.Write` --- S7.Net/Helper/MemoryStreamExtension.cs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/S7.Net/Helper/MemoryStreamExtension.cs b/S7.Net/Helper/MemoryStreamExtension.cs index b451e2d4..5ca9477f 100644 --- a/S7.Net/Helper/MemoryStreamExtension.cs +++ b/S7.Net/Helper/MemoryStreamExtension.cs @@ -28,10 +28,15 @@ public static void Write(this MemoryStream stream, ReadOnlySpan value) { byte[] buffer = ArrayPool.Shared.Rent(value.Length); - value.CopyTo(buffer); - stream.Write(buffer, 0, value.Length); - - ArrayPool.Shared.Return(buffer); + try + { + value.CopyTo(buffer); + stream.Write(buffer, 0, value.Length); + } + finally + { + ArrayPool.Shared.Return(buffer); + } } } #endif