Skip to content

Commit 3692cb3

Browse files
committed
Preserve frame end marker for the exception prior to returning the buffer to the array pool
1 parent 0d8f49b commit 3692cb3

File tree

1 file changed

+3
-2
lines changed
  • projects/RabbitMQ.Client/client/impl

1 file changed

+3
-2
lines changed

projects/RabbitMQ.Client/client/impl/Frame.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -344,8 +344,9 @@ internal static bool TryReadFrame(ref ReadOnlySequence<byte> buffer, uint maxMes
344344

345345
if (payloadBytes[payloadSize] != Constants.FrameEnd)
346346
{
347-
ArrayPool<byte>.Shared.Return(array: payloadBytes, clearArray: true);
348-
throw new MalformedFrameException($"Bad frame end marker: {payloadBytes[payloadSize]}");
347+
var frameEndMarker = payloadBytes[payloadSize];
348+
ArrayPool<byte>.Shared.Return(payloadBytes);
349+
throw new MalformedFrameException($"Bad frame end marker: {frameEndMarker}");
349350
}
350351

351352
RabbitMqClientEventSource.Log.DataReceived(payloadSize + Framing.BaseFrameSize);

0 commit comments

Comments
 (0)