From 02d1f1cc579d9d2f395ba3e10309d17a636b797a Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Wed, 20 Jun 2018 09:59:18 +0200 Subject: [PATCH] Stream#ReadLine(): fix false positive buffer underflow indicator refs #6354 --- lib/base/stream.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/base/stream.cpp b/lib/base/stream.cpp index 3048f096c..a7ac2067c 100644 --- a/lib/base/stream.cpp +++ b/lib/base/stream.cpp @@ -143,7 +143,16 @@ StreamReadStatus Stream::ReadLine(String *line, StreamReadContext& context, bool } } - context.MustRead = (count <= 1); + switch (count) { + case 0: + context.MustRead = true; + break; + case 1: + context.MustRead = first_newline == (context.Size - 1u); + break; + default: + context.MustRead = false; + } if (count > 0) { *line = String(context.Buffer, &(context.Buffer[first_newline])); -- 2.40.0