From 6884d5715ff56b9d3420ae92e847a563ac8abd55 Mon Sep 17 00:00:00 2001 From: Arek Date: Sun, 27 Jun 2021 16:23:56 +0200 Subject: [PATCH] fix: Check for 13/10 EOL in heartbeat frame --- arstomp/src/Helpers.cs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/arstomp/src/Helpers.cs b/arstomp/src/Helpers.cs index 7de85e7..5ffd987 100644 --- a/arstomp/src/Helpers.cs +++ b/arstomp/src/Helpers.cs @@ -86,14 +86,21 @@ namespace ArStomp var inputstream = new MemoryStream(msgBuffer); var bodyoutput = new MemoryStream(); - if (inputstream.ReadByte() == 10) + var firstByte = inputstream.ReadByte(); + if (firstByte == 10) { return HeartbeatFrame; } - else - { - inputstream.Seek(0, SeekOrigin.Begin); + else if (firstByte == 13) { + var secondByte = inputstream.ReadByte(); + if (secondByte == 10) { + return HeartbeatFrame; + } else { + throw new Exception("Invalid frame"); + } } + // start from beginning + inputstream.Seek(0, SeekOrigin.Begin); StreamReader reader = findBody(inputstream);