From 8467b7507a5675c41d9c57ae5f60ada1f3b6f6d4 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Fri, 3 Sep 2021 23:18:37 -0400 Subject: [PATCH] Improved MimeParser.StepMboxMarker() logic --- MimeKit/MimeParser.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/MimeKit/MimeParser.cs b/MimeKit/MimeParser.cs index 7d054f9a00..d42e9c45db 100644 --- a/MimeKit/MimeParser.cs +++ b/MimeKit/MimeParser.cs @@ -709,6 +709,12 @@ unsafe bool StepMboxMarker (byte* inbuf, ref int left) while (*inptr != (byte) '\n') inptr++; + if (inptr == inend) { + // we don't have enough input data + left = (int) (inptr - start); + return false; + } + var markerLength = (int) (inptr - start); if (inptr > start && *(inptr - 1) == (byte) '\r') @@ -719,12 +725,6 @@ unsafe bool StepMboxMarker (byte* inbuf, ref int left) var lineLength = (int) (inptr - start); - if (inptr >= inend) { - // we don't have enough input data - left = lineLength; - return false; - } - inputIndex += lineLength; prevLineBeginOffset = lineBeginOffset; lineBeginOffset = GetOffset (inputIndex);